首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UTF-16文件的LF -> CR/LF转换

UTF-16文件的LF -> CR/LF转换
EN

Stack Overflow用户
提问于 2015-07-30 12:11:21
回答 4查看 2.1K关注 0票数 2

我有一个UTF-16编码文件,我希望用Windows行结束替换UNIX行结束。我不想碰别的东西。

是否有linux命令行工具可以搜索两个字节“0A00”并将其替换为4个字节“0D000A00”?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-07-30 12:27:53

Perl拯救了:

代码语言:javascript
复制
perl -we 'binmode STDIN,  ":encoding(UTF-16le)";
          binmode STDOUT, ":encoding(UTF-16le):crlf";
          print while <STDIN>;
        ' < input.txt > output.txt
票数 1
EN

Stack Overflow用户

发布于 2015-07-30 12:21:55

您可以使用unix2dos,但是您必须在此之前将文件转换为8位编码,然后再将其转换为UTF-16。最明显的中间候选是UTF-8:

代码语言:javascript
复制
$ cat in.txt | iconv -f UTF-16 -t UTF-8 | unix2dos | iconv -f UTF-8 -t UTF-16 > out.txt

如果您愿意,可以将这三个管道命令包装在一个方便的脚本中。

代码语言:javascript
复制
#/bin/sh
iconv -f UTF-16 -t UTF-8 | unix2dos | iconv -f UTF-8 -t UTF-16
票数 1
EN

Stack Overflow用户

发布于 2015-07-30 12:18:37

unix2dos是你要找的东西。请参阅其不同的选项,以找到一个适合您的UTF-16编码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31723457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档