Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 24182|Răspunde: 2

[Sursă] Transcodare în loturi a versiunii C# a seturilor de caractere Unicode în caractere chinezești (conversie mutuală)

[Copiază linkul]
Postat pe 07.09.2015 10:57:18 | | |
Am observat că multe locuri de pe Internet folosesc caractere precum /u4e2d/u56fd când transmit în chineză, care sunt caractere codificate Unicode, și vreau să știu care este conținutul specific, dar nu este ușor de observat, așa că vreau să decodez acest set de caractere în caractere normale.
La început, am convertit formatul de codare prin Encoding și am constatat că nu funcționa, nu puteam rezolva normal, apoi am căutat soluții similare de decodare pe Internet, care erau fezabile, dar am descoperit că era puțin dificil de scris, iar dacă aveam loturi de caractere Unicode, nu le puteam genera direct, apoi m-am uitat la ele și, în cele din urmă, am găsit două metode de clase char: una este char. ConvertFromUtf32, comentariul spune: Convertiți bitul de cod Unicode specificat într-un șir codificat UTF-16, nu este asta doar decodare; Altul este ars. ConvertToUtf32, comentariu: Această metodă este de a converti caracterele codificate UTF-16 în poziții specificate ale șirului în puncte de cod Unicode, ha, de fapt, este vorba de a converti caracterele obișnuite în seturi de caractere Unicode.

  1. /// <summary>  
  2.         /// 把Unicode解码为普通文字  
  3.         /// </summary>  
  4.         /// <param name="unicodeString">要解码的Unicode字符集</param>  
  5.         /// <returns>解码后的字符串</returns>  
  6.         public static string ConvertToGB(string unicodeString)
  7.         {
  8.             string[] strArray = unicodeString.Split(new string[] { @"\u" }, StringSplitOptions.None);
  9.             string result = string.Empty;
  10.             for (int i = 0; i < strArray.Length; i++)
  11.             {
  12.                 if (strArray[i].Trim() == "" || strArray[i].Length < 2 || strArray.Length <= 1)
  13.                 {
  14.                     result += i == 0 ? strArray[i] : @"\u" + strArray[i];
  15.                     continue;
  16.                 }
  17.                 for (int j = strArray[i].Length > 4 ? 4 : strArray[i].Length; j >= 2; j--)
  18.                 {
  19.                     try
  20.                     {
  21.                         result += char.ConvertFromUtf32(Convert.ToInt32(strArray[i].Substring(0, j), 16)) + strArray[i].Substring(j);
  22.                         break;
  23.                     }
  24.                     catch
  25.                     {
  26.                         continue;
  27.                     }
  28.                 }
  29.             }
  30.             return result;
  31.         }

  32.         /// <summary>  
  33.         /// 把汉字字符转码为Unicode字符集  
  34.         /// </summary>  
  35.         /// <param name="strGB">要转码的字符</param>  
  36.         /// <returns>转码后的字符</returns>  
  37.         public static string ConvertToUnicode(string strGB)
  38.         {
  39.             char[] chs = strGB.ToCharArray();
  40.             string result = string.Empty;
  41.             foreach (char c in chs)
  42.             {
  43.                 result += @"\u" + char.ConvertToUtf32(c.ToString(), 0).ToString("x");
  44.             }
  45.             return result;
  46.         }
Cod de copiere






Precedent:Personajele chinezești JS și codificarea Unicode sunt schimbate Criptarea Unicode Decriptarea Unicode
Următor:Cum pot face maparea porturilor pe un router Cisco?
Postat pe 19.02.2016 23:12:53 |
Postat pe 12.11.2022 13:53:27 |
Răspunde la postare pentru a-ți exprima recunoștința
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com