Python 判斷檔案的語系編碼 UTF-8、Big5

Python3 要開啟、讀取檔案時,若不是 UTF-8,會需要輸入檔案的語系編碼,Python 會自動都轉換成 UTF-8 做操作。

如下範例:(現在會遇到 Big5 的,大多數都是 Windows 的 CSV)

with open(filename, encoding='Big5') as csvline:
    rows = csv.reader(csvline, delimiter=',')

但是有些來源是 Big5、有些是 UTF-8,就需要偵測語系編碼,要怎麼做呢?

閱讀全文〈Python 判斷檔案的語系編碼 UTF-8、Big5〉

PHP 處理 Base64 URL 的編碼、解碼方式

PHP 使用 Base64 來做編碼(Encode)、解碼(Decode) 是很簡單的,使用下述兩個 Function 即可:

而 Base64 編碼的結尾都會有等號(=),若看到 Base64 沒有等號的話,要怎麼處理呢?

閱讀全文〈PHP 處理 Base64 URL 的編碼、解碼方式〉

Python3 遇到 UnicodeEncodeError: ascii codec 錯誤解法

Python3 遇到下述問題:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0–9: ordinal not in range(128)

此錯誤訊息,要怎麼解決呢?

一般這個都在 Python2 看到,沒想到在 Python3 也會遇到.. @.@a..

閱讀全文〈Python3 遇到 UnicodeEncodeError: ascii codec 錯誤解法〉

Linux uniq 遇到不同字元 被算在一起的解法

Linux CLI 要計算一個檔案內,行數相同字串的重複次數,通常就是 sort 再 uniq -c 計算。

平常計算都是正常的,但是若遇到編碼種類比較多元,有些長角的 a、o.. 會跟一般英文字母的 a、o 算在一起,當然案例還有更多舉不完。

閱讀全文〈Linux uniq 遇到不同字元 被算在一起的解法〉

Vim 查看目前字元的 ASCII、UTF-8 編碼

Vim 想要查看目前這個字元的 ASCII 碼(16進位、8進位),或此字元的 UTF-8 編碼,要怎麼查詢?

註:此功能在追某些特別奇怪(可能有看不到的字元)的問題,會很常用到。

閱讀全文〈Vim 查看目前字元的 ASCII、UTF-8 編碼〉