繁体   English   中英

是否可以将一组数字转换为其 ASCII 字符值?

[英]Is it Possible to convert a set of numbers to their ASCII Char values?

我可以将字符串转换为中间有空格的 Ascii 值。

示例:“我喜欢胡萝卜”致:73 32 108 105...

但我试图找出一种方法来获取这些数字并将它们转换回它们的 ascii 字符。

我正在使用最新版本的 Delphi (embarcadero) 并且是编码新手,所以请帮助我:)

这是代码:

var
    S1 : String;
    S2 : String;
    A  : TStringDynArray;   // Add System.Types in uses
    N  : String;
    C  : Char;
begin
    // 'I like carrots' in ascii code separated by a space
    S1 := '73 32 108 105 107 101 32 99 97 114 114 111 116 115';
    A  := SplitString(S1, ' ');   // Add System.StrUtils in uses
    S2 := '';
    for N in A do
        S2 := S2 + Char(StrToInt(N));
    ShowMessage(S2);
end;

我不知道完整的问题,但您可以添加代码来检查有效的输入字符串。

您可以在每个字符中使用 Ord 函数。 Chr 函数返回指定 ASCII 值的字符。

例子

var
  s: string;
  c: char;

s:='I like carrots';
for c in s do
begin
   Writeln(ord(c));
end;

我不太了解delphi,但看看这个链接: http : //www.delphibasics.co.uk/Article.asp? Name=Text

在分配到和从字符变量部分中,它演示了一个类似这样的函数: fromNum := Chr(65); // Assign using a function fromNum := Chr(65); // Assign using a function

如果这不起作用,您可以考虑构建一个 int->char 的大型映射。 它的开头是在上面的网站上也靠近顶部。

暂无
暂无

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

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