我寻找一个代码样本来转换UTF8 (孟加拉字符)转换为UCS2字节数组。我有没有直接的方法来解决这个问题呢?不知何故,我得到了UCS2转换,但它是一个字符串值,而不是字节数组。
例如:
byte[] message;
message = UTF2UCS.GetBytes
( smsText.Substring(0,
smsText.Length > maxLength ? maxLength : smsText.Length)); 我的返回输出应该是这样的。
谢谢
发布于 2015-06-08 19:46:24
像这样的东西是你能得到的最好的了。根据this link的说法
//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);发布于 2015-06-25 12:44:18
byte[] utcs2Bytes = System.Text.Encoding.Convert(System.Text.Encoding.UTF8, System.Text.Encoding.Unicode, newArray);newArray是用于存储编码字节的目标字节数组
发布于 2015-06-08 19:42:59
使用Encoding.GetBytes和Encoding.GetString
byte[] bengaliUtf8 = ....
string stringValue = UTF8Encoding.GetString(bengaliUtf8);
byte[] utf16Value = UnicodeEncoding.GetBytes(stringValue);UTF-16 ('Unicode')是你能得到的最好的,C#不支持UCS-2。如果您的输入没有代理项字符,则UTF-16的输出与UCS-2匹配。
https://stackoverflow.com/questions/30708098
复制相似问题