我有一个UTF-8字符串,我需要得到UTF-16编码的字节数组,那么如何将我的字符串转换为UTF-16字节数组?
更新:
我的意思是我们有Encoding.Unicode.GetBytes()甚Encoding.UTF8.GetBytes()至函数来获取字符串的字节数组,那怎么样UTF-16?我们没有,Encoding.UTF16.GetBytes()所以如何获得字节数组?
Jon*_*eet 24
对于little-endian UTF-16,请使用Encoding.Unicode.
对于big-endian UTF-16,请使用Encoding.BigEndianUnicode.
或者,构造一个显式实例UnicodeEncoding,允许您指定字节顺序,是否包含字节顺序标记,以及是否在无效数据上引发异常.
Hen*_*man 10
我有一个UTF-8字符串和......
不,你没有.那是不可能的.您可能有一个包含byteUTF-8编码文本的序列(数组或流).但不是string.
.net string始终包含Unicode(或更确切地说,UTF-16).
...,那么如何将我的字符串转换为UTF-16字节数组?
string myText = ...; // some string, maybe from an UTF8 file or any other source
byte[] utf16Data = Encoding.Unicode.GetBytes(mytext);
Run Code Online (Sandbox Code Playgroud)
该库定义了范围UTF7,UTF8,Unicode,UTF32.Unicode 在.NET框架的上下文中是 UTF16.