问题描述
我可以将字符串转换为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映射。它的开头位于上面的那个网站,也位于顶部。