Eclipse采用UTF-8 BOM格式編碼,而Linux下采用UTF-8無BOM格式。BOM用來標記編碼的字節順序,但是由於編碼字節順序對於UTF-8來說無關緊要,而且Unicode標准也並不推薦使用帶BOM的UTF-8編碼格式。總之,由於Windows和Linux的不同,為避免使用Notepad++手動更改大量文件的繁瑣,提供shell轉換腳本如下:
UTF-8(with BOM)轉UTF-8:
#!/bin/bash
#將UTF-8帶BOM編碼的文件轉化為UTF-8無BOM格式
if [[ -z "$1" ]];then
echo '用法:./rmbom.sh [folder | file]'
echo '將UTF-8編碼的文件轉化為UTF-8無BOM格式'
exit 1
fi
path=$1
find $path -type f -name "*" -print | xargs -i sed -i '1 s/^\xef\xbb\xbf//' {}
echo "Convert finish"
UTF-8轉UTF-8(with BOM):
#!/bin/bash
#將UTF-8無BOM編碼的文件轉化為UTF-8帶BOM格式
if [[ -z "$1" ]];then
echo '用法:./addbom.sh [folder | file]'
echo '將UTF-8無BOM格式編碼的文件轉化為UTF-8帶BOM'
exit 1
fi
path=$1
find $path -type f -name "*" -print | xargs -i sed -i '1 s/^/\xef\xbb\xbf&/' {}
echo "Convert finish"