嗨我有一些文本框,用户输入的信息,如名字,姓氏,.... 我需要将文本框的文本转换为十六进制,然后将十六进制转换为字节并通过rs232发送到设备。
我知道通过rs232部分发送,我也知道如何将文本转换为字节。
我的问题是,现在,我应该在文本框中使用波斯语字符。这意味着文本框中名称的文本就像这样的“حسین”。
如何解决我的问题?
答案 0 :(得分:1)
如果我理解正确,你可以尝试类似的东西
byte[] yourStrBytes = Encoding.GetEncoding("your encoding").GetBytes("your str");
string hexStr = BitConverter.ToString(yourStrBytes).Replace("-", "");
byte[] hexStrBytes=Encoding.UTF8.GetBytes(hexStr);
答案 1 :(得分:0)
据我所知,如果您想将波斯语或阿拉伯语文本转换为连续的unicode,以便通过This问题等串口将其发送到其他设备,您可以使用以下代码来达到其中的HEX值波斯语或阿拉伯语字母。
private string ConvertToUTF(string input_text)
{
string _out = String.Empty;
char[] _chars = input_text.ToCharArray();
foreach (char c in _chars)
{
_out += ((Int16)c).ToString("X4");
}
return _out;
}
Useage:
Console.WriteLine(ConvertToUTF("سلام"));
Console.WriteLine(ConvertToUTF("مرحبا"));
提供此输出
0633064406270645
06450631062D06280627