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

问题描述

我可以将字符串转换为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

如果这不起作用,则可以考虑构建一个较大的int-> char映射。它的开头位于上面的那个网站,也位于顶部。