[英]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.