转换Utf8到UCS2字节数组

本文关键字:字节数 数组 字节 UCS2 Utf8 转换 | 更新日期: 2023-09-27 17:54:35

我正在寻找一个代码示例来将UTF8(孟加拉字符)转换为UCS2字节数组。有什么直接的方法可以解决这个问题吗?不知何故,我得到了UCS2转换,但作为一个字符串值不在字节数组。

例如:

byte[] message;
message = UTF2UCS.GetBytes
          ( smsText.Substring(0, 
           smsText.Length > maxLength ? maxLength : smsText.Length)); 

我的返回输出应该是这样的。

谢谢

转换Utf8到UCS2字节数组

这样的东西是你能得到的最好的。根据这个链接:

//1200  Unicode UCS-2 Little-Endian (BMP of ISO 10646)
//1201  Unicode UCS-2 Big-Endian
Encoding bytesUCS = Encoding.GetEncoding(1201);
Encoding utf8 = Encoding.UTF8;
byte[] utf8Bytes = utf8.GetBytes(UTF2UCS);
byte[] isoBytes = Encoding.Convert(utf8, bytesUCS, utf8Bytes);
 byte[] utcs2Bytes = System.Text.Encoding.Convert(System.Text.Encoding.UTF8, System.Text.Encoding.Unicode, newArray);

newArray是用于存储编码字节的目标字节数组

使用Encoding.GetBytesEncoding.GetString:

byte[] bengaliUtf8 = ....
string stringValue = UTF8Encoding.GetString(bengaliUtf8);
byte[] utf16Value = UnicodeEncoding.GetBytes(stringValue);

UTF-16 ('Unicode')是你能得到的最好的,c#不支持UCS-2。如果您的输入没有代理字符,则UTF-16的输出匹配UCS-2。