2017-04-20 103 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

相关问题