Skip to main content

· 2 min read

這篇完整講解了 Python Unicode 的作法,

例如為什麼都已經是 Unicode 了還會有 encode, decode 的需求? 答案是因為電腦內部以二進制儲存 Unicode, 而一般網頁等程式能處理的是經過 "文字編碼" 後的 text code (utf-8, big5, gbk).

而為什麼常看到 UTF-8? 因為 UTF-8 這套文字編碼相容英文最常用的 ASCII 文字編碼,所以大多數英文程式不需要改寫就能沿用.

所以從網頁 / 程式存中文到資料庫 (電腦) 時要做 data.encode ('big5') 的動作來存到電腦中.

h = ' 哈囉 ' h '\xab\xa2\xc5o'

從電腦中取出的中文 data 要做 data.decode ('big5') 的動作,

print h 哈囉 h.decode ('big5') u'\u54c8\u56c9' print h.decode ('big5') 哈囉

那麼為什麼有時候用一些程式不需要自己處理這些事情呢? 那是因為這些程式的作者已經預幫你處理了 XD

不知道預設的編碼時,可以試試用 Universal Encoding Detector 來猜測所使用的編碼.

Update:

· 3 min read

中國移動基於 Android 自行訂製的 OPhone 系統終於釋出了 SDK。OPhone 的 SDK 相容於 Android 1.0 API ,使用 ADT 0.8 版開發工具(不支援 Android 1.1、1.5 和 ADT 0.9.x 以上版本的開發工具),並需要安裝它提供的 OPhone SDK 還有 WDT (桌面小程式開發工具 Widget Development Toolkit)這個 Eclipse Plugin。

無獨有偶的,OPhone 弄出了一個跟 Opera Unite 相似的「客戶端即伺服器」架構,叫做「Mobileyou」手機網頁伺服器。我乾脆把這類架構稱為「網頁 P2P」,或「pWeb」(Personal Web、Peer-2-Peer Web)。

這類「pWeb」服務架構的本質,簡單說來是在電腦或手機上裝個網頁伺服器,以提供各種以網頁為介面的服務,再結合個人電腦或手機上提供的個人資訊,提供異化的功能性網站。

中國移動或 Opera 這些服務提供者端,將使用某種動態 DNS 轉址機制(Dynamic DNS),以提供一個統一的網址,如「http:// 官方網址 / 個人暱稱 / 服務」這樣的連結,讓網路上所有的人都可以用這個網址連上 pWeb 網站,以解決使用者該透過哪個網址訪問的問題。

OPhone 提供的「Mobileyou」,跟 Android 上另一個「i-jetty」應用程式很類似。裝了之後都可以存取手機上的功能,透過網頁介面來管理個人通訊錄、查看簡訊等。

有了這樣的服務以後,女朋友要看男朋友有沒有偷吃,就不用再偷偷拿他的手機查看簡訊,只要到個人手機上的網站查看就行了(怎麼覺得舉的是個反例 :p)

· One min read

程式設計領域裡,每一個人都想飛。但是,還沒學會走之前,不要跑! -- 侯捷