JavaScript实现半角与全角字符相互转换

作者:键盘侠

时间:2026-10-24

浏览:530

本文介绍如何使用JavaScript编写函数实现半角与全角字符的相互转换。核心原理基于字符编码差值65248,通过遍历字符串并利用charCodeAt与fromCharCode方法,分别处理空格及常规字符,完成ToDBC(半角转全角)和ToCDB(全角转半角)逻辑。

文章目录

半角与全角转换原理及代码实现

具体实现代码如下所示:

全角空格的Unicode编码为12288,而半角空格的编码为32。
除空格外,其他字符在半角(编码范围33至126)与全角(编码范围65281至65374)之间的转换关系为:全角编码减去半角编码恒等于65248。
以下是将半角字符转换为全角字符的函数实现:
function ToDBC(txtstring)
{ 
var tmp = "";
for(var i=0;i<txtstring.length;i++)
{ 
if(txtstring.charCodeAt(i)==32)
{ 
tmp= tmp+ String.fromCharCode(12288);
} 
if(txtstring.charCodeAt(i)<127)
{ 
tmp=tmp+String.fromCharCode(txtstring.charCodeAt(i)+65248);
} 
} 
return tmp;
} 
以下是将全角字符转换为半角字符的函数实现:
function ToCDB(str)
{ 
var tmp = "";
for(var i=0;i<str.length;i++)
{ 
if(str.charCodeAt(i)>65248&&str.charCodeAt(i)<65375)
{ 
tmp += String.fromCharCode(str.charCodeAt(i)-65248);
} 
else
{ 
tmp += String.fromCharCode(str.charCodeAt(i));
} 
} 
return tmp
}

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章