2 hnj19900121 hnj19900121 于 2016.01.18 16:54 提问

delphi7 中将存放到string变量里的'18',如何变成#$18
#$18变成'18',用的是IntToHex(Ord(s[3]), 2)的方法,如果要将'18'变成#$18的转换方法

2个回答

wooden954
wooden954   2016.01.18 17:05
已采纳

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

hnj19900121
hnj19900121 我自己解决了,chr(StrToInt('$'+s))能把'18'转换会#$18
接近 2 年之前 回复
hnj19900121
hnj19900121 也就是'18',转换成#$18
接近 2 年之前 回复
hnj19900121
hnj19900121 也就是'18',转换成#$18
接近 2 年之前 回复
hnj19900121
hnj19900121 不是指它效率低,我是要将它逆转换
接近 2 年之前 回复
caozhy
caozhy   Ds   Rxr 2016.01.18 21:09

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

hnj19900121
hnj19900121 '18'转换成int型,再用inttohex输出么?
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!