Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 24182|Antwort: 2

[Quelle] Batch-Transkodierung der C#-Version von Unicode-Zeichensätzen in chinesische Zeichen (gegenseitige Umwandlung)

[Link kopieren]
Veröffentlicht am 07.09.2015 10:57:18 | | |
Ich habe gesehen, dass viele Orte im Internet Zeichen wie /u4e2d/u56fd beim Senden von Chinesisch verwenden, das sind Unicode-codierte Zeichen, und ich möchte wissen, was der spezifische Inhalt ist, aber es ist nicht leicht zu erkennen, deshalb möchte ich diesen Zeichensatz in normale Zeichen entschlüsseln.
Zuerst konvertierte ich das Kodierungsformat über Encoding, stellte fest, dass es nicht funktionierte und ich es nicht normal lösen konnte, dann suchte ich im Internet nach ähnlichen Dekodierungslösungen, die machbar waren, aber ich fand, dass es etwas umständlich war zu schreiben, und wenn ich Chargen von Unicode-Zeichen hatte, konnte ich sie nicht direkt ausgeben, dann schaute ich immer wieder nach, und schließlich fand ich zwei Methoden von Char-Klassen: eine ist char. ConvertFromUtf32, sagt der Kommentar: Konvertiere das angegebene Unicode-Codebit in einen UTF-16-codierten String, ist das nicht einfach das Dekodieren; Ein weiterer ist Char. ConvertToUtf32, Kommentar: Diese Methode dient dazu, UTF-16-codierte Zeichen an bestimmten Stellen im String in Unicode-Codepunkte umzuwandeln, also tatsächlich sind gewöhnliche Zeichen in Unicode-Zeichensätze umgewandelt.

  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.         }
Code kopieren






Vorhergehend:JS, chinesische Zeichen und Unicode-Codierung werden ausgetauscht, Unicode-Verschlüsselung, Unicode-Entschlüsselung
Nächster:Wie mache ich Port-Mapping auf einem Cisco-Router?
Veröffentlicht am 19.02.2016 23:12:53 |
Veröffentlicht am 12.11.2022 13:53:27 |
Antworte auf den Beitrag, um deine Dankbarkeit auszudrücken
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com