码迷,mamicode.com
首页 > 其他好文 > 详细

位操作转换字符大小写

时间:2020-06-19 11:50:45      阅读:49      评论:0      收藏:0      [点我收藏+]

标签:位操作   rar   array   i++   string   测试   info   img   har   

  • 转小写:ch | 0b00100000ch | 0x20 ch | 32

效果:A-Z -> a-z,小写字母、数字、大部分标点符号不变。_变成了奇怪的字符。

测试:

public static void main(String[] args) {
    String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
            + "abcdefghijklmnopqrstuvwxyz"
            + "1234567890"
            + "[]\\;‘,./"
            + "!@#$%^&*()_+{}|:\"<>?";
    char[] chars = s.toCharArray();
    for (int i = 0; i < chars.length; i++) {
        char c = (char) (chars[i] | 0b00100000);
        System.out.print(c);
    }
}

技术图片

  • 转大写:ch & 0b11011111ch & 0xDFch & 223

效果:a-z -> A-Z,小写字母、小部分标点符号不变。数字和大部分标点符号变成了奇怪的字符。

测试:

public static void main(String[] args) {
    String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
            + "abcdefghijklmnopqrstuvwxyz"
            + "1234567890"
            + "[]\\;‘,./"
            + "!@#$%^&*()_+{}|:\"<>?";
    char[] chars = s.toCharArray();
    for (int i = 0; i < chars.length; i++) {
        char c = (char) (chars[i] & 0b11011111);
        System.out.print(c);
    }
}

技术图片

  • 大小写翻转:ch ^ 32

效果:a-z -> A-ZA-Z -> a-z。数字和大部分标点符号变成了奇怪的字符。

测试:

public static void main(String[] args) {
    String s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        + "abcdefghijklmnopqrstuvwxyz"
        + "1234567890"
        + "[]\\;‘,./"
        + "!@#$%^&*()_+{}|:\"<>?";
    char[] chars = s.toCharArray();
    for (int i = 0; i < chars.length; i++) {
        char c = (char) (chars[i] ^ 32);
        System.out.print(c);
    }
}

技术图片

位操作转换字符大小写

标签:位操作   rar   array   i++   string   测试   info   img   har   

原文地址:https://www.cnblogs.com/caophoenix/p/13161985.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!