利用ASCII码生成指定规则的字符串

    /**
     * 上送终端编号的后两位生成规则  总共可以生成 (36*36-1)1295个编号
     * 01...09 0A...0Z
     * 10...19 1A...1Z
     * ...............
     * A0...A9 AA...AZ
     * ...............
     * Z0...Z9 ZA...ZZ
     */
    public  String generateNumber(String number){
        String ret=number.substring(0,number.length()-2); //取前半部分
        number=number.substring(number.length()-2); //取最后两位
        // 取第一个字符
        char ch1=number.charAt(0);
        char ch2=number.charAt(1);

        //生成第二个字符串
        if(number.equals("ZZ")){ //达到上限 ZZ,不使用生成规则生成
            return null;
        }
        if(ch2<‘Z‘){
            //因为9的下一个字母是A
            if(ch2==‘9‘){
                ch2=‘A‘;
            }else{
                ch2+=1;
            }
            ret=ret+""+ch1+ch2;
        }else{
            //第一个字符加1;第二个字符为0
            if(ch1==‘9‘){
                ch1=‘A‘;
            }else{
                ch1+=1;
            }
            ret=ret+""+ch1+0;
        }

        return ret;
    }
public static void main(String[] args){
        String[] arr={"01","09","0A","0Y","0Z","90","99","9B","9Z","A0","AZ","Z0","ZY","ZZ"};
        for(String arr1:arr){
            System.out.println("--->:"+test(arr1));
        }

    }
时间: 2024-11-10 00:19:04

利用ASCII码生成指定规则的字符串的相关文章

生成指定长度的字符串

#region 生成指定长度的字符串 2 /// <summary> 3 /// 生成指定长度的字符串,即生成strLong个str字符串 4 /// </summary> 5 /// <param name="strLong">生成的长度</param> 6 /// <param name="str">以str生成字符串</param> 7 /// <returns></re

利用ascii码加密字符串

算法:用原来字母后面的第四个字母替代原来的字母.明文:China 密文:Glmre #include <stdio.h> int main() { char c1,c2,c3,c4,c5; c1='C'; c2='h'; c3='i'; c4='n'; c5='a'; c1+=4; //将c1的字符转换为ascii码加上4再赋给c1本身 c2+=4; //将c2的字符转换为ascii码加上4再赋给c2本身 c3+=4; //将c3的字符转换为ascii码加上4再赋给c3本身 c4+=4; //

4.java随机生成指定长度的字符串

//生成随机数字和字母, public static String getStringRandom(int length) { String val = ""; Random random = new Random(); //参数length,表示生成几位随机数 for(int i = 0; i < length; i++) { String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num

web前端_Math.random()生成指定长度随机字符串

已知Math.random -> 随机数字16位小数 已知number.toString(36) -> 0-9 a-Z的字符串 so, Math.random().toString(36).substr(0,2) -> 随机字符串 final,可封装成方法~ function random(length) { var str = Math.random().toString(36).substr(2); if (str.length>=length) { return str.su

ASCII码

ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言.它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646. 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a.b.c.d这样的52个字母(包括大写).以及0.1等数字还有一些常用的符号(例如*.#.@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互

资料——ASCII码

ASCII是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言.它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646. 在计算机中,所有的数据在存储和运算时都要使用二进制数表示(因为计算机用高电平和低电平分别表示1和0),例如,像a.b.c.d这样的52个字母(包括大写).以及0.1等数字还有一些常用的符号(例如*.#.@等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互

ascii码与unicode码的区别

ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)是基于拉丁字母的一套电脑编码系统.它主要用于显示现代英语和其他西欧语言.它是现今最通用的单字节编码系统,并等同于国际标准ISO/IEC 646. ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符.标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9.标点符号, 以

生成指定格式的流水号

程序应用场景:1.对数据表的增删改查中的增加数据时,对于主键值得自动生成2.银行的自动叫号系统 以下是程序代码: private void codechange() { //提前设置流水号的格式: string onecode = DateTime.Now.ToString("yyyyMMdd") + "p"; // 查找这种格式的流水号在数据库中是否存在 var mimi = _context.Info.Where(p => p.Code.StartsWit

ASCII 码 图表

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符.标准ASCII 码也叫基础ASCII码,使用7 位二进制数来表示所有的大写和小写字母,数字0 到9.标点符号, 以及在美式英语中使用的特殊控制字符.其中: 0-31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行).CR(回车).FF(换页).DEL(删除).BS(退格).BEL(响铃)等:通信专用字符:SOH(文头).EOT(文尾).ACK(确认)等:ASCII值为8.