2012-06-04 53 views
4

我嘗試過幾種ASCII,Latin1,Windows-1252,UTF-8和Unicode的組合,將C#中的撇號轉換爲撇號,但無濟於事。如何將C#中的撇號轉換爲撇號?

byte[] uBytes = Encoding.Unicode.GetBytes(questionString); 
byte[] utf8Bytes = Encoding.Convert(Encoding.Unicode, Encoding.UTF8, uBytes); 
string converted = Encoding.UTF8.GetString(utf8Bytes); 

我使用這個轉換表,發現每個代碼應該是什麼:http://www.i18nqa.com/debug/utf8-debug.html

+7

你能告訴你的源代碼呢? –

+4

沒有'''和沒有撇號。只有字節和編碼(和「Unicode」是*不是*編碼btw),它們將它們映射到字符。作爲後者的錯誤選擇似乎會造成你的麻煩,我會暫時忘掉這一層,看看前一層(下層)。你有哪些字節,它們來自哪裏,你的程序如何得到它們? – delnan

+0

這聽起來像一個編碼問題,可以在根 –

回答

12

Try如下:

var bytes = Encoding.Default.GetBytes("’"); 
var text = Encoding.UTF8.GetString(bytes); 
Console.WriteLine(text); 
+7

謝謝。我的誤解是這些角色實際上已經是UTF8了。我很感謝你回答這個問題,而不是試圖通過發佈鏈接等來證明你有多聰明。 –