SJu*_*ejo 3 c# utf-8 character-encoding
我面临着很奇怪的问题,我有一个字节[],当我路过这Convert.UTF8.GetString(字节[]字节)的方法,系统编码与我搞乱字节和更换只有少数特殊字节(我我在我的系统中使用标记来表示三个字符串表示法.
[0] 70 byte
[1] 49 byte
[2] 45 byte
[3] 86 byte
[4] 49 byte
[5] 253 byte <-- Special byte
[6] 70 byte
[7] 49 byte
[8] 45 byte
[9] 86 byte
[10]50 byte
[11]253 byte <-- Special byte
[12]70 byte
[13]49 byte
[14]45 byte
[15]86 byte
[16]51 byte
Run Code Online (Sandbox Code Playgroud)
当我将上面的byte []传递给Encoding.UTF8.GetString(bytes)方法时,我得到以下输出;
private Encoding _encoding = System.Text.Encoding.GetEncoding("UTF-8", new EncoderReplacementFallback("?"), new DecoderReplacementFallback("?"));
_encoding.GetString(bytes) "F1-V1?F1-V2?F1-V3" string
Run Code Online (Sandbox Code Playgroud)
实际值不应该为' ',因为这意味着它无法编码并用' '替换那些特殊字节.无论如何我可以解决这个问题,即转换为字符串并将特殊字节表示保留为单个字符.
我有以下特殊字节,我试图用作标记;
byte AM = (byte) 254
byte VM = (byte) 253
byte SM = (byte) 252
Run Code Online (Sandbox Code Playgroud)
您的帮助和意见将不胜感激.
谢谢,
-
Sheeraz
| 归档时间: |
|
| 查看次数: |
1967 次 |
| 最近记录: |