UTF-8(with BOM)與UTF-8相互轉換


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"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM