于是上google搜索转换函数,发现国内很少有文章涉及到相关信息。其中一个是http://www.jxyc.gov.cn/blog/withwolf/showlog.asp?log_id=468&cat_id=0
但此函数不能处理混合输入问题,当全角半角一起输入时就出错。参照上面程序,再结合一些Unicode Wide 编码规则:
请参考
以下是转换程序(javascript)
/****************************
* 参数说明:
* 全角->半角
* str:要转换的字符串
* 返回值类型:字符串
**************************** /
function DBC2SBC(str) {
var i;
var result='''''''';
for(i=0;i
// “65281”是“!”, “65373”是“}”
if(code>=65281&&code<65373)
// “65248”是转换码距
result+=String.fromCharCode(str.charCodeAt(i)-65248);
else result+=str.charAt(i);
}
alert(result);
return result;
}
/*****************************/
以上程序能转换以下编码。若要转换其他特殊的全角符号, 请参考http://ha1.seikyou.ne.jp/home/akairingosaita/hangul/dec-unicode-ks.txt
65281 !
65282 "
65283 #
65284 ¥
65285 %
65286 &
65287 '
65288 (
65289 )
65290 *
65291 +
65292 ,
65293 -
65294 .
65295 /
65296 0
65297 1
65298 2
65299 3
65300 4
65301 5
65302 6
65303 7
65304 8
65305 9
65306 :
65307 ;
65308 <
65309 =
65310 >
65311 ?
65312 @
65313 A
65314 B
65315 C
65316 D
65317 E
65318 F
65319 G
65320 H
65321 I
65322 J
65323 K
65324 L
65325 M
65326 N
65327 O
65328 P
65329 Q
65330 R
65331 S
65332 T
65333 U
65334 V
65335 W
65336 X
65337 Y
65338 Z
65339 [
65510 \
65341 ]
65342 ^
65343 _
65344 `
65345 a
65346 b
65347 c
65348 d
65349 e
65350 f
65351 g
65352 h
65353 i
65354 j
65355 k
65356 l
65357 m
65358 n
65359 o
65360 p
65361 q
65362 r
65363 s
65364 t
65365 u
65366 v
65367 w
65368 x
65369 y
65370 z
65371 {
65372 |
65373 }
没有评论:
发表评论