我需要帮助在Tcl中找出内置的十六进制到二进制转换; 我目前正在使用TCL 8.5.
类似于十六进制到十进制转换,我们是否有十六进制到二进制 或 任何一个线性语法进行转换?
我不太确定二进制是什么意思; 你的意思是字节序列0或1字符序列?
从十六进制转换为字节序列(其是发生在仅具有字符的范围内的串\u0000到\u00ff)与完成binary format命令:
set hex "61626364"
set bytes [binary format H* $hex]
puts $bytes
# Prints 'abcd'
Run Code Online (Sandbox Code Playgroud)
要转换为表示位的数字序列,您将转换为上面的二进制字符串,然后用于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'
Run Code Online (Sandbox Code Playgroud)
以上所有关于Tcl 8.5的工作.请注意,您需要使用大写 H*和/ B*或代码将尝试做一些它声称是"小端"(可能实际上是这样)的东西,这让我很困惑.
| 归档时间: |
|
| 查看次数: |
6718 次 |
| 最近记录: |