Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 24182|Válasz: 2

[Forrás] Unicode karakterkészletek c# verziójának kínai karakterekre történő köteges átkódolása (kölcsönös átalakítás)

[Linket másol]
Közzétéve 2015. 09. 07. 10:57:18 | | |
Láttam, hogy az interneten sok helyen olyan karaktereket használnak, mint például a /u4e2d/u56fd kínai nyelv továbbításakor, amelyek Unicode kódolt karakterek, és szeretném tudni, mi a konkrét tartalom, de nem könnyű látni, ezért szeretném ezt a karakterkészletet normál karakterekre dekódolni.
Eleinte átkonvertáltam a kódolási formátumot kódoláson keresztül, és rájöttem, hogy nem működik, és nem tudtam normálisan megoldani, majd kerestem hasonló dekódoló megoldásokat az interneten, amelyek megvalósíthatók voltak, de kicsit problémás volt megírni, és ha Unicode karakterek adag voltak, nem tudtam közvetlenül kiadni őket, aztán utánanéztem és utánanéztem, végül két karakterosztályos módszert találtam: az egyik a char. ConvertFromUtf32, a hozzászólás így szól: Konvertáld a megadott Unicode kódbitet egy UTF-16 kódolt stringre, ez nem csak dekódolás; Egy másik a char. ConvertToUtf32, megjegyzés: Ez a módszer az UTF-16 kódolt karaktereket a stringben meghatározott helyeken Unicode kódpontokká alakítja, haha, valójában a hétköznapi karaktereket Unicode karakterkészletté alakítjuk.

  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.         }
Kód másolása






Előző:JS kínai karakterek és Unicode kódolás cserélődik Unicode titkosítás Unicode titkosítás
Következő:Hogyan végezzek port térképezést Cisco routeren?
Közzétéve 2016. 02. 19. 23:12:53 |
Közzétéve 2022. 11. 12. 13:53:27 |
Válaszolj a bejegyzésre, hogy kifejezd a háládat
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com