Category: 中文編碼

上週聊到中文點陣字型,年輕同學們可能沒啥感覺,但經歷過 DOS 時代的老人隔了幾十年後再摸到老東西,滿滿的回憶呀,感受格外強烈,本週就繼續在其中找樂子。 上回說到我沒找到明確授權且不是 GPL 的中文點陣字型(Open Source 沒問題,但真心不喜歡被 GPL 掐住脖子的感覺),我打算用思源黑體...

玩 ESP/Arduino 想在 OLED 或點陣式 LED 顯示中文,中文點陣字型來源一直是個問題。 關於中文點陣字型,多年前我有研究出倚天中文跟國喬中文的字型檔解析(延伸閱讀:Coding4Fun - 點陣中文字型顯示),但授權是個無法迴避的問題。在網路上不難找到這兩套絕版軟體的字型檔案,使用倚...

在 PowerShell 中想提前結束程式有好幾種寫法,例如 return、exit,之前沒認真比過差異,胡亂用踩了坑,特整理筆記備忘。 先用以下 Test-ExitScript.ps1 程式示範,依傳入參數模擬四種提前結束 Script 的做法 - return、break、exit 及 [Env...

中文編碼解析線上版上線已經兩年,只要對中文編碼方式存疑,開網頁貼文字看結果,多半能很快得到答案。 上週讀者 ChrisTorng 提了一個很棒的建議:他看到我在文章裡為了解說 Unicode 罕字的 BIG5、UCS2、UTF8 編碼對映還特別在擷圖塗色標示,便提議我用分隔符號或表格排程讓同一字元的...

來個小測驗。請用大腦執行以下 C# ,說出 s.Legnth 及 b.Length 分別是多少? void Main() { string s = "#明𠅙鮮𧰟"; Console.WriteLine(s.Length); byte[] b = Encoding.UT...

Oracle 遇難字出錯不算新鮮事,現象不外乎中文字變空白變方格變問號變亂碼,老司機們一眼便知,該怎麼做心裡有數,但這回我遇到超不一樣的變種。(這樣算有吸引詭異茶包的特殊體質嗎?) 碰到一個神奇案例,資料寫入 Oracle NVARCHAR2 時結尾會多出一個 \u0000 (ASCII 0) 字元...

前幾天分享的 Oracle 改 MSSQL 出中文亂碼問題,我想出 VB.NET Strings.StrConv 做簡繁轉換的解法,進一步實測踩到一枚小地雷。 我原以為 Strings.StrConv 只會轉換簡體中文字元,所以放心地把繁體中文內容也丟給它處理,沒想有卻有繁體字元被換掉了 - 「台」...

之前研究 PowerShell 中文編碼問題有個結論 - Windows 10 內建 PowerShell 5.1,在中文版 Windows 預設用 BIG5 編碼,PowerShell 6.0 之後會預設改用 UTF8。因此我一直以為 .\Do-Something.ps1 > output....

大家有遇過這種狀況嗎? 被人問到圖片上的中文罕用字,知道寫法不知道怎麼唸,或知道唸法注音輸入法找不到,又沒法複製貼上,要怎麼輸入到電腦? 我今天就被同事抽考,有個難字,左部是耕耘的部首【耒】,右邊是【得】去掉【彳】字邊,不知怎麼唸,推敲它的倉頡拆碼【手木日一戈】也找不到,要怎麼輸入進系統? 研究過程...

早年做專案時為快速分析中文編碼,我寫了一個 Windows Form 小工具,在部落格分享收到一些讀者回饋,陸續改版幾次並命名為中文編譯解析工具,十多年來是我處理中文編碼疑難的順手兵器。 2006-12-17 KB-Unicode編碼解析小工具 2007-01-03 中文編碼解析工具1.1版 20...

OpenCC 已提供十分優質的繁簡轉換,不過呢,實際使用下來難免會有些不到位的地方。所幸,OpenCC 的架構開放又有彈性,修改 json 設定檔就能載入自訂轉換字典,如果對既有轉換表或轉換規則不滿意,OpenCC 開放源碼,絕對讓你改到開心為止。 用個簡單例子示範如何自訂字彙轉換。假設我想將...

前篇文章介紹了輕巧但威力強大的 OpenCC,使用 opencc.exe 可輕鬆完成繁簡轉換。 如果我們要在 .NET 裡寫一個函式招喚 OpenCC 將繁體字串轉成簡體字串該怎麼做? 呼叫外部 .exe 這等小事,自然難不倒 .NET 老鳥,生個 System.Diagnostics.Pr...

漫長的碼農生涯,難免會遇到中文繁簡轉換需求,過去我都依賴 Word,但在 Web Server 整合 Word 是件麻煩事。Word 程序體積龐大,啟動要耗用不少記憶體跟 CPU,不適合每次 Request 隨用隨建用完即丟。加上 Word 為桌面程式會綁執行身分,不適合用 IIS AppPool...

今天才發現 JavaScript 中文字串排序有個大問題! 下圖是 KendoGrid 在 Chrome 使用 JavaScript 排序的結果,如圖所示,一到七由小到大排序結果為一、七、三、二、五、六、四,既不是依筆劃,也不是依注音: (SQL 的中文定序就區分筆劃跟注音,例如: Chines...

同事遇到集保罕集問題,我試著解釋個中奧妙時冒出一堆「集保罕字的X」「Unicode標準字的X」「看起來一樣但編碼不同」把同事薰得七葷八素,感覺都快吐了… 嗯,寫篇文章細說從頭吧。 很久很久以前,在 Unicode 還沒一統天下之前,BIG5 是台灣地區的主流中文編碼,其中定義 13,053 個...