我需要帮助来找出 Tcl 中内置的十六进制到二进制转换;我目前正在使用 TCL 8.5。
类似于十六进制到十进制的转换,我们是否有十六进制到 bin 或 任何一种用于进行转换的线性语法?
我需要帮助来找出 Tcl 中内置的十六进制到二进制转换;我目前正在使用 TCL 8.5。
类似于十六进制到十进制的转换,我们是否有十六进制到 bin 或 任何一种用于进行转换的线性语法?
我不太确定二进制是什么意思;你的意思是字节序列0
还是1
字符序列?
使用以下命令将十六进制转换为字节序列(这是一个恰好只有 to 范围内的字符的\u0000
字符串\u00ff
)binary format
:
set hex "61626364"
set bytes [binary format H* $hex]
puts $bytes
# Prints 'abcd'
要转换为表示位的数字序列,请按上述转换为二进制字符串,然后用于binary scan
转换回:
set hex "61626364"
# No option to get the value without writing it to a variable
binary scan [binary format H* $hex] B* bits
puts $bits
# Prints '01100001011000100110001101100100'
以上所有工作都在 Tcl 8.5 上运行。请注意,您需要使用大写字母 H*
,B*
或者代码会尝试做一些它声称是“小端”的事情(实际上可能是这样),这让我很困惑。