【发布时间】:2018-01-05 02:51:40
【问题描述】:
我有一个UTF-8 字符串,我需要得到UTF-16 编码的字节数组,那么如何将我的字符串转换为UTF-16 字节数组呢?
更新:
我的意思是我们有Encoding.Unicode.GetBytes() 甚至Encoding.UTF8.GetBytes() 函数来获取字符串的字节数组,那么UTF-16 呢?我们没有Encoding.UTF16.GetBytes(),那么如何获取字节数组?
【问题讨论】:
-
您可能有一个字符串或一个 UTF-8 字节数组。 String 是包含字符的类型,与编码无关,因为编码仅用于字节数组表示
-
另外,您尝试了什么,请发布您的代码
-
“我有一个 UTF-8 字符串”开头是什么意思?如果您有 System.String 的实例,它在内存中已经是 UTF-16。
-
C#中的字符串总是
UTF-16,我相信没有办法转换它。你的UTF-8字符串是什么样的? -
@AfshinMehrabani:来自编码 MSDN:
Unicode Gets an encoding for the UTF-16 format using the little endian byte order.msdn.microsoft.com/en-us/library/system.text.encoding.aspx