[英]Converting chinese character to Unicode
假设我有一个随机的中文字符,玩。 我想将它转换为Unicode,即U + 73A9。 我怎么能在C#中做到这一点?
把myChar作为引用你的特殊角色的字符......
Console.WriteLine("{0} U+{1:x4} {2}", myChar, (int)myChar, (int)myChar);
上面我们输出字符本身,然后是Unicode代码点,然后输出整数值。
减少格式字符串和参数,只输出“U + ...”代码...
Console.WriteLine("U+{0:x4}", (int)myChar);
characater玩用Unicode。
如果你用C#作为玩具,它当前是UTF-16,这是Unicode编码形式之一。
如果您从其他地方获得它,您需要:
第3步可能很简单(哦,我只是使用那个!)或者很难(darn,必须自己写!)或介于两者之间的某个地方(嘿,有人写过其中一个吗?!)
更长一点的例子,遵循Jon Hanna的答案中的模式:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace UnicodeDecodeConsoleApplication
{
class Program
{
static void Main(string[] args)
{
char c = '\u73a9';
char[] chars = {c};
Encoding encoding = Encoding.BigEndianUnicode;
byte[] decodeds = encoding.GetBytes(chars);
StringBuilder stringBuilder = new StringBuilder("U+");
foreach (byte decoded in decodeds)
{
stringBuilder.Append(decoded.ToString("x2"));
}
Console.WriteLine(stringBuilder);
Console.ReadLine();
}
}
}
--jeroen
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.