如何在utf-8文本文件中只保留BMP?

如何在utf-8文本文件中只保留BMP?

这是一个文本文件的内容,我只想保留BMP。

这是无效的字符  

答案1

通过不支持补充多语言平面的字符集(例如 UCS-2)传递它。

$ iconv -f utf-8 -t ucs-2 -c input.txt | iconv -f ucs-2 -t utf-8
这是无效的字符  
这是正常的字符  哈

答案2

无需借助技巧,perl 就能够完全满足您的要求:

$ perl -Mopen=locale -ne 's/[^\x{1}-\x{FFFF}]//g; print' infile
这是无效的字符
这是正常的字符  哈

请看一下这个答案以获得更多解决方案。

相关内容