由於從 .NET Core 1.0 開始,就沒有自動載入 BIG5
編碼的 Encoding
資料,所以你沒辦法直接透過 Encoding.GetEncoding("Big5")
取得 Encoding
物件。在 .NET Core 3.1 之前,還需要須額外安裝 System.Text.Encoding.CodePages
套件才行。不過,從 .NET 5 開始,這個套件成為了 .NET SDK 的一部分,不再需要額外安裝。但即便如此,你還是要特別執行一段註冊以使用此編碼。接下來,我們將深入探討如何註冊這些編碼並正確使用它們在不同的場景中。
... 繼續閱讀 ...
最近在嘗試微軟最近推出的 MarkItDown 工具,它使用 Python 開發,可用於將各種文件檔案轉換為 Markdown 格式,支援的文件格式也非常多,這在 AI 盛行的時代是非常有用的。因為文件換為 Markdown 格式之後,可以讓大語言模型進行分析。不過我在 PowerShell 底下使用的時候,沒有意外的又出意外了,因為它無法正確的處理 UTF-8 字元的輸入輸出,所以只要遇到中文就掛掉,真的很煩,這種問題都不知道處理幾次了。這篇文章我打算來介紹如何讓 Python 程式正確的處理 UTF-8 字元。
... 繼續閱讀 ...
今天又解決了一個卡了我幾個月的問題,這次是 Azure CLI 的輸出編碼問題,只要在一種特殊的條件組合下,就會遇到的問題,我一直都知道怎樣避開這個問題,但卻一直無法理解原因。今天這篇文章我就來說說這個特殊的狀況,幫助大家未來可以順利避開這個問題。
... 繼續閱讀 ...
我每隔幾年我就會遇到一次 non-Unicode 的編碼問題,真的不常見,但這些年來也處理過無數次了,每次都被搞的很煩。最近在 Linux 環境又遇到棘手的編碼問題,檔案內容是從 ISO-8859-1
(Latin-1) 字集的 Sybase ASE 資料庫轉出,所以編碼是 ISO-8859-1
字集,但內容其實是 BIG5
字集,而我用 Windows Terminal + WSL 2 又只支援顯示 Unicode
字集的文字,所以文字無法正常在螢幕上顯示或複製。幾經嘗試後,我決定把這幾年累積的心得都寫下來,以免日後又要再花時間研究一次。
... 繼續閱讀 ...
網友 chihwen 提供了一條關於 瀏覽器對 "表單內容送出" 的編碼處理 的新線索,經我詳細測試下發現各瀏覽器之間的確還是有不同的處理規則,尤其是 IE 瀏覽器對這個屬性的實做不太老實進行了智慧型判斷處理,所以有必要特別說明,請看以下分析。
... 繼續閱讀 ...
文字編碼 (Text Encoding) 是一個頗為複雜的議題,現在的開發人員很幸福,只要遇到不懂的編碼問題就用 UTF-8 編碼解決,想當初我在開發多奇中文繁簡轉換大師產品時遇到的編碼問題百百種,可說是養成了對於文字編碼的敏感度,之後遇到編碼問題就比較容易能理解與解決問題,今天我來分享「各瀏覽器」對於文字編碼的處理細節,由於這些資訊在網路上又多又雜,似乎不易整理,以下部分內容是我親自實驗並研究出來的心得,如有謬誤之處敬請告知。
... 繼續閱讀 ...
我想一般人的作法都是透過設定 HTTP 回應 Content-Disposition 標頭(Header)的方式告知用戶端(Browser)強制下載檔案的,例如:
... 繼續閱讀 ...
前天替一個網友解決了一個 Encoding 混亂的問題:ASP.net 傳遞中文至Web Service 亂碼問題,像這種這個問題最常出現在「非 Unicode 的系統」裡,像這個案例就是他們的 Web Service 是用 PHP + NuSOAP 開發的,因為預設就是用 ISO-8859-1 的字集做資料的編碼與傳輸,所以資料在同樣的字集傳輸下,在非原生(Non-Native)支援 Unicode 的程式語言下很自然的不會發現問題,但是一到了 .NET 就不一樣了,.NET 是一個打從骨子裡支援 Unicode 的架構,所以對 Encoding 是很敏感的。
... 繼續閱讀 ...
之前曾經有一次到要將郵件主旨(Subject)解碼的經驗,但主旨卻用 Quoted Printable 編碼過了,所以上網找了個 Quoted Printable Encoding & Decoding 的範例程式來看,但下載回來卻不能正常解碼(Decode),經我一翻修改後才可以正常解碼。
... 繼續閱讀 ...