波斯文本框从十六进制到字节

本文关键字:十六进制 到字节 文本 | 更新日期: 2023-09-27 18:25:50

hi我有一些文本框,用户可以在其中输入姓名等信息。我需要将文本框的文本转换为十六进制,然后将十六进制转换为字节,并通过rs232发送到设备。

我知道通过rs232发送的部分,我也知道如何将文本转换为字节。

我的问题是,现在,我应该在文本框中使用波斯字符。这意味着文本框中的名称文本会像这样"حین"。

我该如何解决我的问题?

波斯文本框从十六进制到字节

如果我理解正确,你可以尝试类似的东西

  byte[] yourStrBytes = Encoding.GetEncoding("your encoding").GetBytes("your str");
  string hexStr = BitConverter.ToString(yourStrBytes).Replace("-", "");
  byte[] hexStrBytes=Encoding.UTF8.GetBytes(hexStr);

正如我所知,如果你想将波斯或阿拉伯语文本转换为它的连续unicode,以便通过串行端口将它们发送到其他设备,比如这个问题,你可以使用以下代码来达到波斯或阿拉伯语字母的十六进制值。

 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