|
|
Publisert på 07.09.2015 10:57:18
|
|
|

Jeg så at mange steder på Internett bruker tegn som /u4e2d/u56fd når de sender kinesisk, som er Unicode-kodede tegn, og jeg vil vite hva det spesifikke innholdet er, men det er ikke lett å se, så jeg vil dekode dette tegnsettet til vanlige tegn. Først konverterte jeg kodingsformatet gjennom Encoding, og fant ut at det ikke fungerte, og jeg kunne ikke løse det normalt, og så lette jeg etter lignende dekodingsløsninger på Internett, som var mulige, men jeg fant ut at det var litt problematisk å skrive, og hvis jeg hadde batcher med Unicode-tegn, kunne jeg ikke skrive dem direkte, men så så jeg på dem, og til slutt fant jeg to metoder for char-klasser: den ene er char. ConvertFromUtf32, sier kommentaren: Konverter den spesifiserte Unicode-kodebiten til en UTF-16-kodet streng, er ikke dette bare dekoding; En annen er char. ConvertToUtf32, kommentar: Denne metoden er å konvertere UTF-16-kodede tegn på spesifiserte posisjoner i strengen til Unicode-kodepunkter, ha, faktisk er det for å konvertere vanlige tegn til Unicode-tegnsett.
- /// <summary>
- /// 把Unicode解码为普通文字
- /// </summary>
- /// <param name="unicodeString">要解码的Unicode字符集</param>
- /// <returns>解码后的字符串</returns>
- public static string ConvertToGB(string unicodeString)
- {
- string[] strArray = unicodeString.Split(new string[] { @"\u" }, StringSplitOptions.None);
- string result = string.Empty;
- for (int i = 0; i < strArray.Length; i++)
- {
- if (strArray[i].Trim() == "" || strArray[i].Length < 2 || strArray.Length <= 1)
- {
- result += i == 0 ? strArray[i] : @"\u" + strArray[i];
- continue;
- }
- for (int j = strArray[i].Length > 4 ? 4 : strArray[i].Length; j >= 2; j--)
- {
- try
- {
- result += char.ConvertFromUtf32(Convert.ToInt32(strArray[i].Substring(0, j), 16)) + strArray[i].Substring(j);
- break;
- }
- catch
- {
- continue;
- }
- }
- }
- return result;
- }
- /// <summary>
- /// 把汉字字符转码为Unicode字符集
- /// </summary>
- /// <param name="strGB">要转码的字符</param>
- /// <returns>转码后的字符</returns>
- public static string ConvertToUnicode(string strGB)
- {
- char[] chs = strGB.ToCharArray();
- string result = string.Empty;
- foreach (char c in chs)
- {
- result += @"\u" + char.ConvertToUtf32(c.ToString(), 0).ToString("x");
- }
- return result;
- }
Kopier koden
|
Foregående:JS, kinesiske tegn og Unicode-koding utveksles, Unicode-kryptering, Unicode-dekrypteringNeste:Hvordan gjør jeg portkartlegging på en Cisco-ruter?
|