Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 24182|Atsakyti: 2

[Šaltinis] Unicode simbolių rinkinių c# versijos paketinis perkodavimas į kinų simbolius (abipusis konvertavimas)

[Kopijuoti nuorodą]
Paskelbta 2015-09-07 10:57:18 | | |
Pamačiau, kad daugelyje vietų internete perduodant kinų kalbą naudojami tokie simboliai kaip /u4e2d/u56fd, kurie yra Unicode užkoduoti simboliai, ir noriu sužinoti, koks yra konkretus turinys, bet tai nėra lengva pamatyti, todėl noriu iššifruoti šį simbolių rinkinį į įprastus simbolius.
Iš pradžių konvertavau kodavimo formatą per kodavimą ir pastebėjau, kad jis neveikia, ir negalėjau jo normaliai išspręsti, o tada internete ieškojau panašių dekodavimo sprendimų, kurie buvo įmanomi, bet pastebėjau, kad rašyti buvo šiek tiek varginanti, o jei turėjau Unicode simbolių partijas, negalėjau jų išvesti tiesiogiai, tada pažiūrėjau ir pažiūrėjau į juos, ir galiausiai radau du char klasių metodus: vienas yra char. ConvertFromUtf32, komentaras sako: Konvertuoti nurodytą Unicode kodą bitų į UTF-16 užkoduota eilutė, tai nėra tik dekodavimas; Kitas yra anglis. ConvertToUtf32, komentaras: Šis metodas yra konvertuoti UTF-16 užkoduotus simbolius nurodytose eilutės vietose į Unicode kodo taškus, ha, iš tikrųjų, tai yra konvertuoti paprastus simbolius į Unicode simbolių rinkinius.

  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.         }
Kopijuoti kodą






Ankstesnis:JS kinų simboliai ir Unicode kodavimas keičiami Unicode šifravimas Unicode iššifravimas
Kitą:Kaip atlikti prievado susiejimą "Cisco" maršrutizatoriuje?
Paskelbta 2016-02-19 23:12:53 |
Paskelbta 2022-11-12 13:53:27 |
Atsakykite į įrašą ir išreikškite savo dėkingumą
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com