Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 24182|Odgovoriti: 2

[Vir] Serijsko prekodiranje C# različic Unicode znakovnih nizov v kitajske znake (medsebojna pretvorba)

[Kopiraj povezavo]
Objavljeno na 7. 09. 2015 10:57:18 | | |
Vidim, da veliko mest na internetu uporablja znake, kot so /u4e2d/u56fd pri prenosu kitajščine, ki so znaki kodirani v Unicode, in želim vedeti, kakšna je točno vsebina, vendar ni lahko videti, zato želim ta nabor znakov dekodirati v običajne znake.
Sprva sem format kodiranja pretvoril preko kodiranja, a ugotovil, da ne deluje in ga nisem mogel rešiti na normalen način, nato pa sem na internetu iskal podobne rešitve za dekodiranje, ki so bile izvedljive, vendar sem ugotovil, da je pisanje nekoliko težavno, in če sem imel serije Unicode znakov, jih nisem mogel neposredno izpisati, nato sem jih pogledal in pogledal ter končno našel dve metodi razredov likov: ena je char. ConvertFromUtf32, komentar pravi: Pretvorite določen bit Unicode kode v UTF-16 kodiran niz, ali ni to le dekodiranje; Druga je ožganost. ConvertToUtf32, komentar: Ta metoda je pretvorba UTF-16 kodiranih znakov na določenih mestih v nizu v Unicode kodne točke, ha, pravzaprav gre za pretvorbo navadnih znakov v Unicode nabore znakov.

  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.         }
Kopiraj kodo






Prejšnji:JS Kitajski znaki in Unicode kodiranje se izmenjujejo: Unicode šifriranje Unicode dešifriranje
Naslednji:Kako naredim mapiranje vrat na Cisco usmerjevalniku?
Objavljeno na 19. 02. 2016 23:12:53 |
Objavljeno na 12. 11. 2022 13:53:27 |
Odgovorite na objavo in izrazite svojo hvaležnost
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com