Ash*_*sha 2 c# c++ unicode character-encoding
我在C++和C#中都有一个字符串处理函数.在C++中,字符的代码ˆ返回-120到C#中的位置710.使用visual studio 2010在C++中构建时,我在项目设置中将字符集设置为"未设置".在C#中,我System.Text.Encoding.Default在其中一次转换中使用.这有什么不同吗?如何在C++和C#中获得相同的行为?
字符是U + 02C6.您在C++中使用的编码可能是CP 1252,它将此字符编码为字节0x88(以十进制显示有符号字符时为-120).C#使用编码UTF-16,它将此字符编码为0x02C6(十进制710).
您可以使用wchar_t insead of char在Windows上使用C++中的UTF-16.
您不能使C#字符串使用CP1252,但您可以使用编码从字符串中获取不同编码的字节数组.
byte[] in_cp1252 = Encoding.GetEncoding(1252).GetBytes("Your string here");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
801 次 |
| 最近记录: |