用ruby實現簡體中文和繁體中文的相互轉化

axgle發表於2006-11-25
根據php對簡體繁體的轉化原理編寫而成,可以幾行程式碼就實現ror站點的全部繁體化(或者簡體化)
[code]#功能:用ruby實現簡體中文和繁體中文的相互轉化
#作者:axgle
#版本:1.0
#授權:GPL(無須經過作者同意即可修改程式碼,但修改後的程式碼必須按照GPL協議釋出)
#日期:2006-11-25

class String

def to_big5
iconv_chinese_by("to_big5.tab")
end

def to_gb2312
iconv_chinese_by("to_gb2312.tab")
end

private
def iconv_chinese_by(lang_table)
lang_table=File.join(File.dirname(__FILE__),"lang_table",lang_table)
fp=File.open(lang_table,"rb")
s=self
len=s.length-1
i=0
while(i<len)
c=s[i]
if c>=160
n=s[i+1]
if c==161 and n==64
b=" "
else
pos=(c - 160)*510 + (n - 1)*2
fp.seek(pos)
b=fp.read(2)
end
s[i]=b[0]
s[i+1]=b[1]
i+=1
end
i+=1
end
fp.close
return s
end

end[/code]

相關文章