2017-04-20 101 views
-1

即十六進制'BF',而在轉換網站中,ASCII等價物是'¿',在我的代碼中,這個十六進制和任何更高的'?'代替。我如何獲得轉換以包含這些字符呢?c#十六進制字符串到ASCII轉換結果'?'

BinaryWriter binaryWriter = new BinaryWriter(File.Open(Path.Combine(Environment.CurrentDirectory , "kek.txt") , FileMode.Create), Encoding.ASCII); 

     binaryWriter.Write("\xBF"); 

     binaryWriter.Close(); 
+1

utf-8編碼可能嗎?只是一個想法,而不是一個答案,所以保持燃燒低:-) – Trey

+3

什麼是高爐?它在ASCII之外(BF = 277)。所以你需要了解你使用什麼編碼 – Shrike

+2

@Shrike:BF = 11 * 16 + 15 = 191 – PaulF

回答

0

你需要寫字節的值,而不是字符串 - 試試這個:

BinaryWriter binaryWriter = new BinaryWriter(File.Open(Path.Combine(Environment.CurrentDirectory , "kek.txt") , FileMode.Create), Encoding.ASCII); 
byte b = 0xBF; 
binaryWriter.Write(b); 
binaryWriter.Close(); 

對於多一點的「問題」的說明,請參見以下鏈接:ASCII Extended in C# string

相關問題