解码“strange"utf32格式
本文关键字:utf32 格式 quot strange 解码 | 更新日期: 2023-09-27 18:18:08
我有一个包含从数据库读取的UTF32的文件。我希望"Hi"成为H'0'0'0i'0'0'0
,但它实际上是'0'0'0H'0'0'0i
,前面有空字符。
有人知道这是如何发生的,以及我如何能够解码这留下所有数据完好无损?
您似乎得到了网络字节顺序的utf-32,而不是您期望的相反顺序。这两种顺序都对utf-32有效。
请求utf-32时,数据库使用的字节顺序可能由数据库的配置控制。
可以使用IPAddress。NetworkToHostOrder转换单个代码点,或UTF32Encoding与适当的字节顺序转换字符串:
var bytes = new byte[] {0,0,0,(byte)'H',0,0,0,(byte)'i'};
var encoding = new UTF32Encoding(true, false);
var text = encoding.GetString(bytes);
Console.WriteLine(text);