Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 24182|Svar: 2

[Kilde] Batch-transkodning af c#-versionen af Unicode-tegnsæt til kinesiske tegn (gensidig konvertering)

[Kopier link]
Opslået på 07/09/2015 10.57.18 | | |
Jeg så, at mange steder på internettet bruger tegn som /u4e2d/u56fd, når man transmitterer kinesisk, som er Unicode-kodede tegn, og jeg vil gerne vide, hvad det specifikke indhold er, men det er ikke let at se, så jeg vil gerne afkode dette tegnsæt til normale tegn.
Først konverterede jeg kodningsformatet gennem Encoding, og fandt ud af, at det ikke virkede, og jeg kunne ikke løse det normalt, og så søgte jeg efter lignende dekodningsløsninger på internettet, som var mulige, men jeg fandt ud af, at det var lidt besværligt at skrive, og hvis jeg havde batches af Unicode-tegn, kunne jeg ikke outputte dem direkte, og så kiggede jeg og kiggede på dem, og til sidst fandt jeg to metoder til char-klasser: den ene er char. ConvertFromUtf32, siger kommentaren: Konverter den specificerede Unicode-kodebit til en UTF-16-kodet streng, er det ikke bare dekodning; En anden er char. ConvertToUtf32, kommentar: Denne metode er at konvertere UTF-16-kodede tegn på bestemte positioner i strengen til Unicode-kodepunkter, altså er det faktisk for at konvertere almindelige tegn til Unicode-tegnsæt.

  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.         }
Kopier kode






Tidligere:JS, kinesiske tegn og Unicode-kodning udveksles, Unicode-kryptering, Unicode-dekryptering
Næste:Hvordan laver jeg portmapping på en Cisco-router?
Opslået på 19/02/2016 23.12.53 |
Opslået på 12/11/2022 13.53.27 |
Svar på opslaget for at udtrykke din taknemmelighed
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com