Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 24182|Odpoveď: 2

[Zdroj] Dávkové prekódovanie C# verzie Unicode znakov na čínske znaky (vzájomná konverzia)

[Kopírovať odkaz]
Zverejnené 7. 9. 2015 10:57:18 | | |
Vidím, že na mnohých miestach na internete používajú znaky ako /u4e2d/u56fd pri prenose čínštiny, ktoré sú znaky kódované v Unicode, a chcem vedieť, aký je konkrétny obsah, ale nie je to ľahké vidieť, preto chcem túto znakovú sadu dekódovať na bežné znaky.
Najprv som formát kódovania previedol cez Encoding, ale zistil som, že to nefunguje a nedokázal som to vyriešiť normálne, potom som hľadal podobné dekódovacie riešenia na internete, ktoré boli možné, ale zistil som, že je to trochu komplikované na písanie, a ak som mal skupiny Unicode znakov, nemohol som ich priamo vyexportovať, potom som sa na ne pozrel a nakoniec som našiel dve metódy tried znakov: jedna je char. ConvertFromUtf32, komentár hovorí: Konvertujte zadaný bit Unicode kódu na reťazec kódovaný v UTF-16, nie je to len dekódovanie; Ďalším je spálenina. ConvertToUtf32, komentár: Táto metóda spočíva v konverzii UTF-16 kódovaných znakov na určených pozíciách v reťazci na Unicode kódové body, ha, v skutočnosti ide o konverziu bežných znakov na Unicode znakové sady.

  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.         }
Kopírovať kód






Predchádzajúci:JS Čínske znaky a Unicode kódovanie sa vymieňajú Unicode šifrovanie Unicode dešifrovanie
Budúci:Ako mám spraviť mapovanie portov na Cisco routeri?
Zverejnené 19. 2. 2016 23:12:53 |
Zverejnené 12. 11. 2022 13:53:27 |
Odpovedzte na príspevok a vyjadrite svoju vďačnosť
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com