Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 24965|Répondre: 2

[Source] Transcodage par lots de la version C# des jeux de caractères Unicode vers des caractères chinois (conversion mutuelle)

[Copié le lien]
Publié sur 07/09/2015 10:57:18 | | |
J’ai vu que de nombreux endroits sur Internet utilisent des caractères comme /u4e2d/u56fd pour transmettre du chinois, qui sont des caractères encodés Unicode, et je veux savoir quel est le contenu spécifique, mais ce n’est pas facile à voir, donc je veux décoder cet ensemble de caractères en caractères normaux.
Au début, j’ai converti le format d’encodage via l’encodage, et j’ai constaté que ça ne fonctionnait pas, que je ne pouvais pas résoudre normalement, puis j’ai cherché des solutions de décodage similaires sur Internet, qui étaient faisables, mais j’ai trouvé que c’était un peu compliqué à écrire, et si j’avais des lots de caractères Unicode, je ne pouvais pas les produire directement, puis je les ai regardés et regardés, et finalement, j’ai trouvé deux méthodes de classes char : l’une est char. ConvertFromUtf32, le commentaire dit : Convertissez le bit de code Unicode spécifié en chaîne encodée UTF-16, n’est-ce pas juste un décodage ; Un autre est le char. ConvertToUtf32, commentaire : Cette méthode consiste à convertir des caractères encodés en UTF-16 à des positions spécifiées de la chaîne en points de code Unicode, ha, en fait, il s’agit de convertir des caractères ordinaires en ensembles de caractères 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.         }
Code de copie






Précédent:Les caractères chinois JS et l’encodage Unicode sont échangés Chiffrement Unicode Déchiffrement Unicode
Prochain:Comment faire le mappage des ports sur un routeur Cisco ?
Publié sur 19/02/2016 23:12:53 |
Publié sur 12/11/2022 13:53:27 |
Répondez au message pour exprimer votre gratitude
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com