Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 24182|Risposta: 2

[Fonte] Trascodifica batch della versione C# dei set di caratteri Unicode in caratteri cinesi (conversione reciproca)

[Copiato link]
Pubblicato su 07/09/2015 10:57:18 | | |
Ho visto che molti posti su Internet usano caratteri come /u4e2d/u56fd quando trasmettono cinese, che sono caratteri codificati Unicode, e vorrei sapere quale sia il contenuto specifico, ma non è facile da vedere, quindi voglio decodificare questo set di caratteri in caratteri normali.
All'inizio ho convertito il formato di codifica tramite Encoding, e ho scoperto che non funzionava, e non riuscivo a risolverlo normalmente, poi ho cercato alcune soluzioni simili di decodifica su Internet, che erano fattibili, ma ho scoperto che era un po' complicato scrivere, e se avevo lotti di caratteri Unicode, non riuscivo a generarli direttamente, poi li ho controllati e infine ho trovato due metodi di classi char: uno è char. ConvertFromUtf32, il commento dice: Converti il bit di codice Unicode specificato in una stringa codificata UTF-16, non è forse solo una decodifica; Un altro è il carbone. ConvertToUtf32, commento: Questo metodo consiste nel convertire caratteri codificati in UTF-16 in posizioni specificate della stringa in punti codice Unicode, in realtà serve a convertire caratteri ordinari in set di caratteri 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.         }
Copia codice






Precedente:I caratteri cinesi JS e la codifica Unicode vengono scambiati Crittografia Unicode
Prossimo:Come faccio a fare la mappatura delle porte su un router Cisco?
Pubblicato su 19/02/2016 23:12:53 |
Pubblicato su 12/11/2022 13:53:27 |
Rispondi al post per esprimere la tua gratitudine
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com