Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 24182|Vastaus: 2

[Lähde] Unicode-merkkijoukkojen c#-version eräsiirto kiinalaisiksi merkeiksi (keskinäinen muunnos)

[Kopioi linkki]
Julkaistu 7.9.2015 10.57.18 | | |
Huomasin, että monet paikat internetissä käyttävät merkkejä kuten /u4e2d/u56fd kiinan lähetyksessä, jotka ovat Unicode-koodattuja merkkejä, ja haluaisin tietää, mikä tarkka sisältö on, mutta sitä ei ole helppo nähdä, joten haluan purkaa tämän merkkijoukon tavallisiin merkkeihin.
Aluksi muunsin koodausmuodon koodauksen kautta, mutta huomasin, ettei se toiminut, enkä pystynyt ratkaisemaan sitä normaalisti, ja sitten etsin internetistä samankaltaisia dekoodausratkaisuja, jotka olivat mahdollisia, mutta huomasin, että kirjoittaminen oli hieman hankalaa, ja jos minulla oli eriä Unicode-merkkejä, en voinut tuottaa niitä suoraan, sitten katsoin ja lopulta löysin kaksi hahmoluokkamenetelmää: toinen on char. ConvertFromUtf32, kommentti sanoo: Muunna määritetty Unicode-koodibitti UTF-16-koodatuksi merkkijonoksi, eikö tämä ole pelkkää dekoodausta; Toinen on hiiltynyt. ConvertToUtf32, kommentti: Tämä menetelmä muuntaa UTF-16-koodatut merkit määrätyissä kohdissa merkkijonossa Unicode-koodipisteiksi, haha, itse asiassa tavalliset merkit muunnetaan Unicode-merkistöiksi.

  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.         }
Kopioi koodi






Edellinen:JS:n kiinalaiset merkit ja Unicode-koodaus vaihdetaan Unicode-salauksen Unicode-salauksen purkamiseksi
Seuraava:Miten teen porttikartoitukset Cisco-reitittimessä?
Julkaistu 19.2.2016 23.12.53 |
Julkaistu 12.11.2022 13.53.27 |
Vastaa viestiin ja ilmaise kiitollisuutesi
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com