Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 24182|Svare: 2

[Kilde] Batch-transkoding av c#-versjonen av Unicode-tegnsett til kinesiske tegn (gjensidig konvertering)

[Kopier lenke]
Publisert på 07.09.2015 10:57:18 | | |
Jeg så at mange steder på Internett bruker tegn som /u4e2d/u56fd når de sender kinesisk, som er Unicode-kodede tegn, og jeg vil vite hva det spesifikke innholdet er, men det er ikke lett å se, så jeg vil dekode dette tegnsettet til vanlige tegn.
Først konverterte jeg kodingsformatet gjennom Encoding, og fant ut at det ikke fungerte, og jeg kunne ikke løse det normalt, og så lette jeg etter lignende dekodingsløsninger på Internett, som var mulige, men jeg fant ut at det var litt problematisk å skrive, og hvis jeg hadde batcher med Unicode-tegn, kunne jeg ikke skrive dem direkte, men så så jeg på dem, og til slutt fant jeg to metoder for char-klasser: den ene er char. ConvertFromUtf32, sier kommentaren: Konverter den spesifiserte Unicode-kodebiten til en UTF-16-kodet streng, er ikke dette bare dekoding; En annen er char. ConvertToUtf32, kommentar: Denne metoden er å konvertere UTF-16-kodede tegn på spesifiserte posisjoner i strengen til Unicode-kodepunkter, ha, faktisk er det for å konvertere vanlige tegn til Unicode-tegnsett.

  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 koden






Foregående:JS, kinesiske tegn og Unicode-koding utveksles, Unicode-kryptering, Unicode-dekryptering
Neste:Hvordan gjør jeg portkartlegging på en Cisco-ruter?
Publisert på 19.02.2016 23:12:53 |
Publisert på 12.11.2022 13:53:27 |
Svar på innlegget for å uttrykke din takknemlighet
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com