全半角转换

[转]原文地址 http://blog.ggh.space/blog/blog001.html

全半角转换

  • 全角:指一个字符占用两个标准字符位置。汉字字符和规定了全角的英文字符及国标GB2312-80中的图形符号和特殊字符都是全角字符。一般的系统命令是不用全角字符的,只是在作文字处理时才会使用全角字符。
  • 半角:指一字符占用一个标准的字符位置。通常的英文字母、数字键、符号键都是半角的,半角的显示内码都是一个字节。在系统内部,以上三种字符是作为基本代码处理的。

unicode编码范围

  • 空格:全角为12288(0x3000),半角为 32(0x20)
  • 半角:33~126(0x21~0x7E)
  • 全角:65281~65374(0xFF01~0xFF5E)

JAVA CODE DEMO

全角转半角:

    public String full2Half(String string) {
        char[] charArray = string.toCharArray();
        for (int i = 0; i < charArray.length; i++) {
            if (charArray[i] >= 65281 && charArray[i]  <= 65374) {
                charArray[i] = (char) (charArray[i] - 65248);
            }
        }
        return new String(charArray);
    }

半角转全角:

    public String half2Full(String value) {
        char[] charArray = value.toCharArray();
        for (int i = 0; i < charArray.length; i++) {
            if (charArray[i] == 32) {
                charArray[i] = (char) 12288;
            } else if (charArray[i] < 127) {
                charArray[i] = (char) (charArray[i] + 65248);
            }
        }
        return new String(charArray);
    }

你可能感兴趣的:(Java,java)