由十進制的 code point 轉成 unicode 字元的 applescript

本區專門提供 Mac OS X 使用者交換使用心得

版主: ross_ttbryanchangdigdogchester

回覆文章
內容
發表人
留言五百如一日
文章: 610
註冊時間: 12/25/2001 1:01 am

由十進制的 code point 轉成 unicode 字元的 applescript

#1 文章 »

因另一 話題 而起。用 Script Editor 試試:

代碼: 選擇全部

-- handler to conver decimal to unicode character
on dec2uTxt from i
	if i < 0 or i > 65535 then return "error01"
	tell "0123456789ABCDEF" to set hexCode to item (i div 4096 + 1) & item (i div 256 mod 16 + 1) & item (i mod 256 div 16 + 1) & item (i mod 256 mod 16 + 1)
	run script ("《data utxt" & hexCode & "》 as Unicode text")
end dec2uTxt

代碼: 選擇全部

dec2uTxt from 21464
-- 簡體的 "變" 字

代碼: 選擇全部

dec2uTxt from 39519
-- "驟"
頭像
janusng
嗜冰客
文章: 1048
註冊時間: 04/30/2001 1:01 am
來自: Metropolis Asylum
聯繫:

#2 文章 janusng »

果script簡陋了點,unicode character有多過16-bit(65535的)。
留言五百如一日
文章: 610
註冊時間: 12/25/2001 1:01 am

#3 文章 »

對、很簡陋;因另一話題而寫的。 :oops:

應加註 "UTF-8 適用" :wink:
留言五百如一日
文章: 610
註冊時間: 12/25/2001 1:01 am

#4 文章 »

也可用 applescript 呼叫 perl:

代碼: 選擇全部

-- handler to conver decimal to unicode character
on dec2uTxt from i
	do shell script "perl -e 'use utf8; print chr(" & i & ")'" as Unicode text
end dec2uTxt

代碼: 選擇全部

dec2uTxt from 28982
-- "然"

代碼: 選擇全部

dec2uTxt from 32780
-- "而"
回覆文章