您好,我正在尝试将 ascii 字符转换回 SAS 中相应的整数值。
我可以从整数转换为 ascii,但如何返回值?我知道有一个字符“R”,我如何提取 82 的值?
我可以使用 byte 函数获取 ascii 值,但是如何从 ascii 值获取整数?
data _null_;
do i=0 to 255;
x=byte(i);
put i= x=;
end;
y=rank('a');
put y=;
run;
谢谢!
最佳答案
rank
函数正是您应该使用的函数。
data _null_;
do i=0 to 255;
x=byte(i);
y=rank(x);
put i= x= y= x= $HEX.;
end;
run;
它仅以 ASCII 整理序列返回,因此这既不符合 Unicode,也不符合 DBCS。
您还可以使用 $HEX.
格式来显示字符的存储方式(物理上),这通常应该是 rank
返回的整数的十六进制表示ASCII 字符。这对于 Unicode/DBCS 字符更有用,因为您可以看到它们如何在内部存储并操作它们。
关于integer - SAS 将 ascii 转换回整数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24396339/