烦恼一般都是想太多了。

0%

去掉文件编码中的BOM标记

在编译一个 Demo 项目的时候,发现居然会出错。很奇怪,文件打开也正常。然后查找了一下关键字符就出来了。具体错误就是 非法字符: '\ufeff' package com.dh.groupTree;

原因

原因是 微软下的 utf-8 编码加了 bom 标记。使用 file 命令来查看。

file *
GroupListActivity.java: UTF-8 Unicode text, with CRLF line terminators
GroupListAdapter.java: UTF-8 Unicode (with BOM) text, with CRLF line terminators
GroupListGetTask.java: UTF-8 Unicode text, with CRLF line terminators
GroupListManager.java: UTF-8 Unicode text, with CRLF line terminators
SearchChannelsAdapter.java: UTF-8 Unicode (with BOM) text, with CRLF line terminators

OK,然后在 https://unix.stackexchange.com/questions/381230/how-can-i-remove-the-bom-from-a-utf-8-file
这里找到了好办法。

sed -i '1s/^\xEF\xBB\xBF//' GroupListAdapter.java