zoukankan      html  css  js  c++  java
  • c#字符串大小写转换

    解决方法如同昆虫世界多姿多彩:

    善于总结就会发现,小写与大写的二进制存在某种转换关系:

    比如:

    大写A 二进制:0100 0001
    小写a 二进制:0110 0001
    ...
     
    大写Z 二进制:0101 1010
    小写z 二进制:0111 1010
     
    可以发现个规律:大小写差别在于第6位的位值,也就是相差32;所以要把大写转换成小写,只需要把它第6位置1;小写转换成大写,把它置0,其他位保持不变;
     
    得到两个掩码:
    大写--〉小写  0010 0000
    小写--〉大写  1101 1111
    //////////////////////////////////
    A:  0100 0001
    or  0010 0000
    -------------  
    a:  0110 0001
    //////////////////////////////////
    a:  0110 0001
    and 1101 1111
    -------------  
    A:  0100 0001
    /////////////////////////////////
     
    //转换成大写
    static string ToUpper(string str)
    {
        string result = string.Empty;
        for (int i = 0; i < str.Length; i++)
            result += (char)(str[i] & 223);
        return result;
    }
    //转换成小写
    static string ToLower(string str)
    {
        string result = string.Empty;
        for (int i = 0; i < str.Length; i++)
            result += (char)(str[i] | 32);
        return result;
    }
  • 相关阅读:
    注意力机制在CV领域的应用之SEnet
    知识蒸馏技术原理
    batchsize如何影响模型的性能
    docker网络 macvlan
    docker pull使用 代理
    auditd重启失败
    3.Golang的包导入
    2.golang应用目录结构和GOPATH概念
    使用git版本管理时的免密问题
    1.go语言目录结构
  • 原文地址:https://www.cnblogs.com/lanke0/p/5362901.html
Copyright © 2011-2022 走看看