现在我有文字=“ 0e2a0e270e310e2a0e140e350e040e230e310e1a”可以转换为“สวัสดีครับ”,我在这里使用C#代码
string unicodeString = "0e2a0e270e310e2a0e140e350e040e230e310e1a";
// Create two different encodings.
Encoding utf8 = Encoding.UTF8;
Encoding unicode = Encoding.Unicode;
// Convert the string into a byte[].
byte[] unicodeBytes = unicode.GetBytes(unicodeString);
// Perform the conversion from one encoding to the other.
byte[] utf8Bytes = Encoding.Convert(unicode, utf8, unicodeBytes);
// Convert the new byte[] into a char[] and then into a string.
// This is a slightly different approach to converting to illustrate
// the use of GetCharCount/GetChars.
char[] asciiChars = new char[utf8.GetCharCount(utf8Bytes, 0, utf8Bytes.Length)];
utf8.GetChars(utf8Bytes, 0, utf8Bytes.Length, asciiChars, 0);
string asciiString = new string(asciiChars);
return asciiString;
不起作用
输入为十六进制,而不是unicode-且编码为big-endian utf-16:
string hexString = "0e2a0e270e310e2a0e140e350e040e230e310e1a";
// unscramble the hex
byte[] bytes = new byte[hexString.Length / 2];
for(int i = 0; i < bytes.Length; i++)
{
bytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
}
// convert to a string via big-endian utf-16
string result = Encoding.BigEndianUnicode.GetString(bytes); // "สวัสดีครับ"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句