如何让Delphi变量直接存储0x56?现有资料仅涉及十六进制转整数
在Delphi中直接存入十六进制值0x56到变量的方法
嘿,这个需求其实超简单!你之所以没找到直接的方法,大概率是没注意到Delphi里表示十六进制的前缀和你习惯的不一样——它用$而不是0x。下面给你几种最直接的实现方式:
直接给数值类型变量赋值(推荐)
不管是Byte、Integer还是其他数值类型,直接用$前缀写十六进制值就行,这是最高效的方式:var // 如果你只需要存单字节的0x56,用Byte类型最贴合 MyByte: Byte; // 存到整数类型也完全没问题 MyInt: Integer; begin MyByte := $56; // 等价于十进制的86,也就是你要的0x56 MyInt := $56; // 同样生效,整数类型会自动处理这个十六进制值 end;从字符串形式的0x56转换赋值
如果你手里的十六进制值是字符串格式的0x56,可以先把前缀替换成Delphi识别的$,再用StrToInt转换:uses SysUtils; // 需要引入这个单元来用StringReplace和StrToInt var MyByte: Byte; HexStr: string; begin HexStr := '0x56'; // 把0x替换成$,再转成数值赋值 MyByte := StrToInt(StringReplace(HexStr, '0x', '$', [rfReplaceAll])); end;
其实核心就是记住Delphi的十六进制标识是$,直接用这个前缀写值赋值给变量就完事了,完全不需要复杂的转换操作~
内容的提问来源于stack exchange,提问作者Greg T
相关产品推荐
相关产品推荐

