将 char 转换为二进制很容易:
>> c: #"^(52)"
== #"R"
>> type? c
== char!
>> b: to-binary c
== #{52}
但如果我想走另一条路怎么办?
>> c: to-char b
** Script Error: Invalid argument: #{52}
** Where: to-char
** Near: to char! :value
这适用于 Rebol 3。
转换为字符串,然后从字符串中提取第一个字符:
>> first to string! #{c3b6}
== #"ö"
请注意,这会将二进制文件解码为 UTF-8(Rebol 3 中使用的默认 Unicode 编码)。
您最初的问题是关于 Rebol 3,在哪里to-char
可以工作binary!
>> c: #"^(52)"
== #"R"
>> type? c
== char!
>> b: to-binary c
== #{52}
>> c: to-char b
== #"R"
>> system/version
== 2.101.0.3.1
但是,它在 Rebol 2 中不起作用。