2007年8月28日

關於Unicode

Unicode是一個非常好的編碼方式,其中一部份的原因,是因為Big5實在太爛了 XD。Big5的誕生是經過許多妥協的結果,而它最大的缺點就是收錄的字數過少。雖然雙位元組編碼能使用的字數原本就受到限制,但看人家UTF-16除了一些中日韓統一表意文字擴展區(CJK Extension)的字之外,也是只需用到兩個位元組。Big5的字數實在是過少,例如堃、羣、朶、喆、册等一些常碰到的字或異體字皆未編入,在戶役政、日常使用方面都造成了不少困擾。甚至以更嚴重的角度來說,臺灣的正體中文就被限制在這13,052個、取捨不甚良好的字之中,在文學、命名方面都受到了箝制。

因為維基百科對於Unicode在技術面的敘述十分完整,所以在這邊只說一些一般和寫程式會用到的部分。目前還有許多網頁是以Big5編碼格式呈現,但是它們還是可以無礙的插入Unicode字元,例如「堃」(U+5803)便插入「堃」,如此便能在Big5網頁中正常處理Unicode字元。在一般情形中瀏覽器會自動做這個轉換,不過在有安裝Unicode補完計畫時,瀏覽器可能會被誤導輸出補完計畫中對應的雙位元組字元,造成字元無法被沒裝補完計畫的人正常檢視(但可先用補完計畫附的轉換程式處理)。網頁只要使用Unicode格式,便一定不會出現強者許功蓋(見Big5維基百科介紹),遇到正簡體中文、日文、德文等語言,也都可以用設定的編碼方式正常、不需使用&#的方式處理。

不同編碼方式使用的位元組

  字元 UTF-8編碼 UTF-16 (Little-Endian)
ASCII 0~127
(一般英文)
A 41 41 00
絕大部分的中文 E5 9B A7 E7 56
擴展平面A的中文 E3 A3 BB FB 38
擴展平面B的中文 𠅮 F0 A0 85 AE 40 D8 6E DD

Unicode字元的編碼交換,最常用的有UTF-16(Big、Little-Endian)、UTF-8兩種方式。兩種編碼方式主要的差別是UTF-16除了擴展平面的字之外,一率用2 bytes處理,而UTF-8會隨字元類型的不同佔用不同的位元組數。UTF-16由於每個字的長度大致固定,適合用於程式的內部處理,也是Windows或程式語言如Java、C#內部的Unicode處理方式。UTF-8的最大好處是一般的ASCII字元只需佔用一個位元組,主要用於資料交換,如網頁、XML資料等。

在Unicode的支援方面,Windows 98、ME基本上可以顯示,不過系統的內碼並不是Unicode。2000、XP在中文方面,預設可以顯示除了擴展平面A、B的中文,安裝Office 2007內附的微軟正黑體或是另外下載教育部標準宋體Unicode版就可以顯示擴展平面A的字元,Office 2007的新注音輸入法也能設定是否顯示擴展平面的字元(可以選但是看不到字)。Vista的話,則全面支援擴展平面A、B的字元(不過用的人短期之內應該還不多)。題外話,關於Office 2007的中文化和Unicode的處理方面,當時我在台灣微軟打工的時候,就是在做這方面的測試工作~。

BabelMap的字型資料顯示 Vista中的輸入法畫面,綠色的是擴展平面A、紅色的是擴展平面B的字元

2007年8月20日

塔關山之行

南橫這段路之前一共去了三次。第一次是單車Solo順便爬了塔關山,因為糧食不足提早下來,從臺南回來。第二次是搭夜車再轉一天一班的客運上南橫,第一天Solo到了庫哈諾辛山屋後就一直下雨,第二天早上爬了庫哈諾辛山,在下山之後本來想再爬塔關山,因為負重讓膝蓋快不行了才做罷。這次是遇到端午節連假剛好有空,也是當替代役之後第一次爬高山。

我和媽媽在6/17的時候出發,走北二高到臺南再上南橫。幸好來回的時候都不太塞,北二高不少路段可以開到時速110,去的時候我開高速公路、媽媽開山路,回來的時候剛好相反。第一天我們先走北二高接臺84線到玉井,路上辦好入山證之後,晚上再到梅山山莊住宿。第二天一早便出發到塔關山登山口。

雖然已經一陣子沒爬山了,不過體力還是不錯。這次來算是只有我有攻頂的目標,沿路上人也不少,因此我便先一人往山頂前進,路上和媽媽用手機連絡。塔關山可以說是蠻簡單的百岳,沿路沒有叉路,可能走錯的地方也有拉黃布條封起來。在到山頂前只有一個展望點,所以幾乎所有攝影的人都會在那邊拍那棵枯樹 XD。在路上遇到了一個帶D80、三鏡的前輩,這次想要輕便所以沒帶遮光罩。回去後想既然DSLR都揹了,配件應該還是要帶較好,另外也買進了CPL,希望能拍出更藍的天空。

路徑沿途都沒有特別困難的地方,山頂的展望挺不賴的。越接近下午天氣變化越快,本來想幫鷹仔嘴山拍張特寫的,沒想到過幾分鐘就起霧了。我在山頂待了一個小時左右,後來打手機知道媽媽離山頂還有一段路回頭下山,因此便開始下山。會合後知道媽媽登山鞋鞋底脫落,環保鞋底的鞋壽命還是差了些。

最後到了登山口,我們便開車下山,因為是我開的所以比較快些 XD,這算是第一次開比較高難度的山路。最後便接力開到臺北,結束了這次爬完南橫三星的旅程。

旅程相簿旅程路徑

山頂 拍照

2007年8月4日

雨天的陽明山

最近好一陣子沒運動了,加上陽明山東西大綜走西段一直沒走過,因此上午便出發去走清天宮到大屯北、西峰的一段。

到了北投站,見到每半小時一班的公車快來了,便趕快買了一些飯糰上車。北投站的建築從內部看蠻有時尚感的,有點可惜沒有趁機拍幾張回來看。到了清天宮之後,便開始走步道上山,預計經過面天坪上大屯西峰,在經過大屯山、大屯山停車場到七星山站下山。上山步道基本上都是石階,雖然較方便沒爬山的人使用,但實際上對膝蓋的負擔很大,尤其在下山的時候。

當天的體力還算不錯,雖然一陣子沒爬山,不過走了會兒心肺功能便能調適過來。一開始爬的時候天氣還不算太壞,不過爬到一半後便開始下大雨,讓我連忙掏出背包內的雨衣褲穿上,把相機放到防水袋內(最後背了那麼重的DSLR一張都沒照到 orz)。一開始只是大雨而已,走了一段路後地上開始出現泥水的洪流!水開始越來越大,幸好沒高過登山鞋的高度,走到後來讓我開始覺得到底是來溯溪還是爬山…

後來終於到了面天坪附近的涼亭,當時涼亭裡面有十幾人也在躲雨(沒看到穿兩截式雨衣褲的人,就算是郊山也不該輕忽才是)。因為下雨對我來說不是問題,所以便繼續往大屯西峰攻上。往大屯西峰的路便不是石階路,地上蠻濕滑的。沒想到下雨就算了,上面還一直在打雷,而且越往上雷好像打得越近.. 囧。在幾個大概在兩百公尺內的雷打完後,見到情況不妙我就趕快往回走,畢竟沒有比山頂更容易被雷擊的地方呀。

後來快步走了一陣之後回到涼亭,開始吃捷運站買的壽司~ 不過淋了雨好像有點油油的,坐了一陣之後其他人便繼續前進往二子坪,我便也往二子坪走看看。後來走著走著,遇到了一段真正的水流,有另外一對中年夫妻也要過去。我先用登山杖探路,見水大概淹沒小腿便想要叫另外兩個人回去,但歐巴桑仍然執意要前進。後來繼續前進,水最深有到大腿一半左右,還好水流不急,不然真的很危險呀!要是忽然有一陣急流沖來,非常有可能被沖到山崖下去。

後來繼續走了一陣,天色仍未好轉,想到到了二子坪還要走到七星山站,我便回頭往清天宮的方向下山。雖然我已盡量不要走太快、避免用膝蓋直接受力,但回家之後還是覺得耗到膝蓋,石階實在是對登山者不利的路徑。快到清天宮時,剛好公車正要走,我便趕快攔下公車回捷運站,結束了這次的雨天陽明山之行。