Эта статья является зеркальной статьёй машинного перевода, пожалуйста, нажмите здесь, чтобы перейти к оригиналу.

Вид: 24182|Ответ: 2

[Источник] Пакетная транскодировка c#-версий наборов символов Unicode в китайские иероглифы (взаимное преобразование)

[Скопировать ссылку]
Опубликовано 07.09.2015 10:57:18 | | |
Я видел, что во многих местах в интернете используют символы вроде /u4e2d/u56fd при передаче китайского языка, которые являются символами, закодированными в Unicode, и я хочу знать, что именно содержимы, но это сложно разглядеть, поэтому я хочу декодировать этот набор символов в обычные символы.
Сначала я конвертировал формат кодирования через Encoding и обнаружил, что он не работает, и я не могу решить его нормально, затем искал похожие решения для декодирования в интернете, которые были осуществимы, но написать это было немного сложно, и если у меня были партии символов Unicode, я не мог выводить их напрямую, потом я посмотрел и посмотрел на них и, наконец, нашёл два метода классов char: один — char. ConvertFromUtf32, в комментарии говорится: Преобразовать указанный бит кода Unicode в строку, закодированную UTF-16, разве это не просто декодирование; Ещё один — это уголь. ConvertToUtf32, комментарий: Этот метод предназначен для преобразования символов, закодированных UTF-16, в заданных позициях строки в точки Unicode, хотя на самом деле это преобразование обычных символов в наборы символов Unicode.

  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.         }
Копирование кода






Предыдущий:JS китайские иероглифы и кодирование Unicode обмениваются шифрованием Unicode, расшифровка Unicode
Следующий:Как мне сделать порт-мэппинг на роутере Cisco?
Опубликовано 19.02.2016 23:12:53 |
Опубликовано 12.11.2022 13:53:27 |
Ответьте на пост, чтобы выразить свою благодарность
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com