繁体   English   中英

转换希伯来语字符为英语

[英]Convert Hebrew chars to English

为了防止将我的问题标记为“重复”, 这里是类似问题的“答案”,不幸的是,该问题不起作用。因此,我遇到了将希伯来语文本键入TextBox的情况,我需要将每个键入的字母转换为标准字符像ASCII表(十进制)中的英语代码一样,因为转换希伯来字符直接返回完全不同的代码(那些似乎是Unicode),所以我需要将希伯来语输入转换为英语。 我为希伯来语输入转换尝试了不同的编码器类型:Unicode,UTF8,UTF16,“ Windows-1255”。我总是收到“?”

因此,例如,上述问题的可能解决方案是:

  public static string convertUTF8ASCII(string initialString)
  {
     byte[] unicodeBytes = Encoding.Unicode.GetBytes(initialString);
     byte[] asciiBytes = Encoding.Convert(Encoding.Unicode, Encoding.ASCII, unicodeBytes);
     return Encoding.GetEncoding("Windows-1255").GetString(asciiBytes);
  }

而且它不起作用。

我也尝试过这样的事情:

  public static int GetASCIICodeFromUnicode(string letter){
     Encoding ascii = Encoding.GetEncoding("Windows-1252");
     Encoding unicode = Encoding.GetEncoding("Windows-1255");

     byte[] unicodeBytes = unicode.GetBytes(letter);

     byte[] asciiBytes = Encoding.Convert(unicode, ascii, unicodeBytes);

     char[] asciiChars = new char[ascii.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
     ascii.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
     asciiBytes.Length, asciiChars, 0);
     string asciiString = new string(asciiChars);

     return (int)Convert.ToChar(asciiString);
 }

也不起作用。

当您在.NET中出现字符串时,现在找出键盘发出的内容已经太晚了。

为了找出单击了哪个键盘位置,您需要将希伯来语映射到英语位置- Dictionary<char,char>是一个很好的候选数据结构。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM