【发布时间】:2012-05-20 00:04:19
【问题描述】:
我有一个包含 unicode 字符串列表的字节数组。每个字符串都以0x00 0x00 结尾。 Encoding.Unicode.GetString 有效,但它返回一个连接字符串。我想有换行符。
一种可能的解决方案是用换行符替换0x00 0x00 序列,然后使用上述函数将字节数组转换为字符串,但我不知道该怎么做。有什么想法吗?
【问题讨论】:
标签: c# string unicode bytearray
我有一个包含 unicode 字符串列表的字节数组。每个字符串都以0x00 0x00 结尾。 Encoding.Unicode.GetString 有效,但它返回一个连接字符串。我想有换行符。
一种可能的解决方案是用换行符替换0x00 0x00 序列,然后使用上述函数将字节数组转换为字符串,但我不知道该怎么做。有什么想法吗?
【问题讨论】:
标签: c# string unicode bytearray
有什么理由不先将其转换为字符串,然后使用正常的字符串替换?
var text = Encoding.Unicode.GetString(binary).Replace("\u0000", "\r\n");
编辑:如前所述,您可能希望使用Environment.NewLine 来获取当前系统的行分隔符。这取决于您的上下文。
【讨论】:
null 字符丢失了。
Environment.NewLine 呢?