delphi7 中将存放到string变量里的'18',如何变成#$18

#$18变成'18',用的是IntToHex(Ord(s[3]), 2)的方法,如果要将'18'变成#$18的转换方法

由于Delphi是强制数据类型的,因此除了IntToHex(Ord(S[3],2)这样的方法外,基本没有其它办法了。
如果认为使用InttoHex函数效率比较低,可以使用查表法,这样速度就会快些,但相应的要求的存储量就会增加,而且如果除了英文还有汉字等数据的话,待查表将会很大
实际上Inttohex函数在效率方面没有必要考虑太多,直接使用即可。

IntToHex就是效率最高的方式了。给你的建议就是只是在最终结果输出的时候再转换。