将编码从UTF8更改为带有BOM的UTF8,使用Rebol。

3
我有一个文件,它是以UTF-8编码的。我想将它改成UTF-8 + BOM。BOM是什么请自行了解。
这是我的代码,但它没有起作用:
write/binary %mycontacts.csv insert read/binary %mycontacts.csv #{EFBBBF}

我该怎么办?

1个回答

3

在进行处理流水线时,INSERT返回的结果是您传递的系列位置:

>> str: "ution"

>> print insert str {Rebol}
ution

请注意,如果您使用了一个中间变量(如上所示),那么该变量将指向操作后您新插入内容的开头:
>> print str
Rebolution

如果您不想使用中间变量,但想获得插入内容的开头,那么您需要向后跳过插入内容的长度:
>> print skip insert str {Rebol} -5
Rebolution

但是,如果你知道你插入的是序列的头部,那么你可以直接使用HEAD:

>> print head insert str {Rebol}
Rebolution

因为您是在序列头部插入字节顺序标记,所以以下内容适用于您的情况:

write/binary %mycontacts.csv head insert read/binary %mycontacts.csv #{EFBBBF}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接