先分享一个unicode一览的网址: 链接 在里面可以找到各个字符对应的unicode对应的十六进制数 根据上面的网站,使用正则表达式检测对应的unicode就可以 在上面的网址中,可以发现英文和数字的半角和全角的unicode差值是固定的。所以可以通过简单的加减来转换。 假名的转换要复杂的多,因为假名的全角半角差值不固定,并且,浊音半浊音的半角是两个字符,全角是一个字符,转换起来会很麻烦。 参考链接 转换的整体思路是,将所有的假名放在二维数组中,然后一个一个对比,进行转换。 这里没有写全角转半角的方法,因为平假名没有半角,所以转换起来可能有问题,不过应该可以根据上面的方法写出来一个。这里就不再写了。