Board logo

标题: [求助]fr.exe能不能处理unicode格式的文本 [打印本页]

作者: 5600549976     时间: 2009-8-26 05:56    标题: [求助]fr.exe能不能处理unicode格式的文本
fr.exe能不能处理unicode格式的文本,是不是要加什么参数,还是根本就不能处理

作者: yishanju     时间: 2009-8-26 10:07
不能处理
用WFR可以了

作者: yishanju     时间: 2009-8-26 10:20
wfr
  - 支持多国语言的字符串批量查找和替换
  - 批量字符集编码转换

bwfr
  - 支持多国语言的字符串批量查找和替换
  - 批量字符集编码转换

作者网站http://baiy.cn

作者: caopengwen     时间: 2009-8-26 12:03
还是不行,我用
wfr.exe -ric:"(^creatyear=)(.*)" -t:"creatyear=2009\r\n" "config.ini"

处理文本(config.ini):
data=36kb
creatyear=2008

没有任何反应

http://upload.cn-dos.net/img/1667.rar 文本地址

作者: yishanju     时间: 2009-8-26 16:35
确实是编码的原因,
我也搞不清楚这些编码的关系
靠,第一次感觉编码这么可恨
WFR 说支持UNICODE的,但是用-encin:unicode 指定输入输出都为UNICODE,却是不行的
郁闷

作者: yishanju     时间: 2009-8-26 17:31
wfr -ric:"(^creatyear=)(\d+)" -t:"\12009" -encin:UCS-2 config1.ini
start config1.ini

看了N多文章之后,试着指定用UCS-2编码,替换成功了

作者: caopengwen     时间: 2009-8-26 22:48
wfr -ric:"(^creatyear=)(\d+)" -t:"\12009" -encin:UCS-2 -encout:UNICODE config1.ini

因为处理后config.ini保存的格式是GB312,而导致程序无法读取INI文件,所以我再后面加了句 -encout:UNICODE ,出现以下错误:

## Incompatible text encoding convertion detected: encoding from "UCS-2" to "UNICODE" will lost infomation and should not be used. use: "wfr -listcmp" for a list of the compatible convertion combinations. or use "-force" to enforce the convertion.
并且程序未对INI文件作任何处理,请问这是怎么回事儿

作者: caopengwen     时间: 2009-8-26 23:18
高手们来帮帮我啊

作者: yishanju     时间: 2009-8-26 23:27
我们可以看到记事本支持4种编码格式:ANSI、Unicode、Unicode big endian、UTF-8。如果读者看过《谈谈Unicode编码》,对Unicode、Unicode big endian、UTF-8应该不会陌生,其实它们更准确的名称应该是UTF-16LE(Little Endian)、UTF-16BE(Big Endian)和UTF-8,它们是基于Unicode的不同编码方案。

http://blog.csdn.net/fmddlmyy/archive/2007/02/14/1510189.aspx

UNICODE等于UTF-16LE
wfr -ric:"(^creatyear=)(\d+)" -t:"\12009" -encin:UTF-16LE config1.ini
start config1.ini

改成这样试试

作者: caopengwen     时间: 2009-8-26 23:58
还是不行 结果有变成了 GB312 真麻烦yishanju 要是真不行的话 哎~

作者: yishanju     时间: 2009-8-27 10:12
我不知道你是怎么弄的,我试了处理过的INI文件都是UNICODE编码。

Last edited by yishanju on 2009-8-27 at 10:14 ]