Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我们在tcl中有内置的十六进制到二进制的转换吗?_Tcl - Fatal编程技术网

我们在tcl中有内置的十六进制到二进制的转换吗?

我们在tcl中有内置的十六进制到二进制的转换吗?,tcl,Tcl,我需要帮助找出Tcl中内置的十六进制到二进制的转换;我目前正在使用TCL 8.5 类似于十六进制到十进制的转换,我们有十六进制到二进制的转换吗 或 是否有任何一种用于转换的线性语法?我不太清楚您所说的二进制是什么意思;您是指字节序列还是0和1字符序列 使用二进制格式命令完成从十六进制到字节序列的转换(该字符串恰好只有\u0000到\u00ff范围内的字符): set hex "61626364" set bytes [binary format H* $hex] puts $bytes # Pr

我需要帮助找出Tcl中内置的十六进制到二进制的转换;我目前正在使用TCL 8.5

类似于十六进制到十进制的转换,我们有十六进制到二进制的转换吗 或
是否有任何一种用于转换的线性语法?

我不太清楚您所说的二进制是什么意思;您是指字节序列还是
0
1
字符序列

使用
二进制格式
命令完成从十六进制到字节序列的转换(该字符串恰好只有
\u0000
\u00ff
范围内的字符):

set hex "61626364"
set bytes [binary format H* $hex]
puts $bytes
# Prints 'abcd'
要转换为表示位的数字序列,请如上所述转换为二进制字符串,然后使用
二进制扫描
转换回:

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'

以上所有工作都是在TCL8.5上完成的。请注意,您需要使用大写字母
H*
B*
,否则代码将尝试执行一些它声称是“小尾端”(实际上可能是这样)的操作,这让我很困惑。

您的意思是?@Jerry not exaclty试图指出类似()的内容,例如:假设将十进制转换为十六进制“%puts[format%x 33]21%'或十六进制到十进制'%puts[format%d 0x21]33%':正在查找0和1的二进制序列,您的第二个解决方案将为我解决(我已经有了此选项),感谢您的回答如果是十进制,我们要将其转换为十六进制怎么办?有没有像H*这样的十进制说明符?所有这些文件都在哪里?我快速搜索后什么也找不到。