【问题标题】:how to show hex code char?如何显示十六进制代码字符?
【发布时间】:2009-11-16 05:56:15
【问题描述】:

我有一个文件,每行包含 FB8E、FB8F、FB90 等数字。

我想在我的程序中加载这个文件并获取每一行并打印对应于该数字/行的字符。

例如,我的第一行是 FB8E,我想要像 #$FB8E (arabic Kaf) 这样的东西来转换它,我该怎么做?

【问题讨论】:

    标签: delphi character-encoding hex


    【解决方案1】:

    如果你在 D2009/2010:

    var
      F: TextFile;
      Line: string;
      Code: Integer;
      Ch: Char;
    
    ...
    Readln(F, Line);
    Code := StrToInt('$' + Line);
    Ch := Char(Code);
    ...
    

    否则将 Char 替换为 WideChar。

    当然,代码可以压缩一点,但为了清楚起见,我把它省略了。

    编辑:对于那些不怕类型转换的人,classes.pas 中还有 HexToBin 函数。

    【讨论】:

      【解决方案2】:

      您不会对简单地将行转换为 #$FB8E 感到满意,因为编译器很可能会为您整理这些内容。

      所以这里的一般方法是读取该行,解析十六进制值并从该值创建一个 WideChar。但是这几年我没怎么做Delphi,所以恐怕我不能告诉你具体怎么做。

      【讨论】:

        猜你喜欢
        • 2011-05-17
        • 2016-11-16
        • 2022-11-19
        • 2021-04-21
        • 2020-11-11
        • 2016-06-28
        • 2014-12-20
        • 2012-02-14
        • 1970-01-01
        相关资源
        最近更新 更多