zoukankan      html  css  js  c++  java
  • 位操作转换字符大小写

    • 转小写: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);
        }
    }
    

  • 相关阅读:
    线程同步的几种实现方案
    关于java中三种初始化块的执行顺序
    java数组
    Codeblocks 17汉化
    聚焦天狗
    linux下搭建svn添加多个仓库(项目)
    使用Python在windows环境下获取Linux服务器的磁盘、内存等信息
    python smtplib使用163发送邮件 报错 554 DT:SPM
    防抖与节流
    js
  • 原文地址:https://www.cnblogs.com/caophoenix/p/13161985.html
Copyright © 2011-2022 走看看