首页 > 其他分享 >字符转码编码

字符转码编码

时间:2023-04-11 14:44:52浏览次数:38  
标签:编码 changdi 字符 restr 转码 deviceId print line txt

import random
from string import lower


changdi_list=[]
def get_changdi():
    path = "changdi.txt"
    txt = open(path, "r")
    #txt = open(path, "r", encoding="utf-8-sig")

    for line in txt.readlines():
        line = line.strip()
        if len(line) >0:
            changdi_list.append(str(line))

get_changdi()
#aa="756D"

place=[]
def getplace():
    path = "history"
    txt = open(path, "r")
    #txt = open(path, "r", encoding="utf-8-sig")

    for line in txt.readlines():
        line = line.strip()
        if len(line) >0:
            place.append(str(line))

getplace()
 

lst= ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', \
 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n',\
 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']

lst_int = map(lambda x: lst.index(x), lst)

keys = lst
values = list(lst_int)
d = dict(zip(keys, values))

def charToNum(c):
    if c.isalpha():
        return d[c]
        #return ord(c)
    else:
        return c


def getID(aa):
    restr="00"
    for i in aa:
        restr=restr+str(charToNum(lower(i)))
#    print(restr)
    
    while len(restr) <15:
        restr = restr + '6'
#    print(restr)
    
    random.randint(0, 9)
    while len(restr) <18:
        restr = restr + str(random.randint(0,9))
#    print(restr)
    for i in place:
        if restr == i:
            print(i,"is been used")
    return restr

#print(getID("023WE"))

for i in changdi_list:
    #print(getID(i.split('-'[1])))
    with open('result.txt',mode='a') as f, open('history',mode='a') as his_f:
        changdi= i.strip()
        tmplist=  changdi.split('-')
        #print(tmplist[0],len(tmplist))
        if len(tmplist) >2:
            deviceId = getID(tmplist[1].strip() )
            print( deviceId )
            f.write( deviceId +'\n')
            his_f.write( deviceId +'\n')
        elif tmplist[0]=="":
            deviceId = ""
            print( deviceId )
            f.write( deviceId +'\n')
            his_f.write( deviceId +'\n')
        else:
            deviceId = getID(tmplist[0].strip() )
            print( deviceId )
            f.write( deviceId +'\n')
            his_f.write( deviceId +'\n')

标签:编码,changdi,字符,restr,转码,deviceId,print,line,txt
From: https://www.cnblogs.com/ah-firelove/p/17306166.html

相关文章

  • AIX系统下sed的用法与实例——查询/打印/替换字符串并生成文件/删除
    sed是AIX中非常重要的文本流编辑器,它对输入的文本进行查询/打印/替换/删除等操作,并将结果写到标准输出。sed 命令包含很多功能,用于选择要修改的行,并只对选择的行作更改。首先,使用sed命令请记住:sed命令以行为单位对文本进行处理,处理完当前行,接着下一行文本输入进行处理,依次循环......
  • oracle分隔字符串的存储过程
    /*参数说明:输入:srcStr;待分割字串;例子:1;2;3;45;46;splitStr:分隔符功能说明:输出分隔符前字串演示:sql>setserveroutputon;sql>execsplitStr('12;34;56;',';......
  • Notepad ++ 将字符串 “\n“ 替换成换行
    一些日志框架,会将一次日志输出全部打印成一行。这时候,如果我们调用栈信息打印到日志,它并不会换行。这样,在定位一些问题的时候,就不那么能直观地看出调用栈信息。需要我们将日志中的"\n"替换成换行符。  原文:https://blog.csdn.net/VXzhangkaiOsLab/article/details/128289498......
  • php多字节填充裁剪字符串
    2023年4月11日09:46:02if(!function_exists('mb_padding_str')){//填充,裁剪多字节字符串functionmb_padding_str(string$str='',int$length=20,string$paddingStr='&nbsp;'){$len=mb_strlen($str);......
  • 一个实用的编码技巧,让我免去了数小时的烦恼
    我讨厌重复,卑微的任务是我的宿敌。在我职业生涯的早期,我听到了一条建议,从那时起我就节省了数小时的精力……将你反复做的事情自动化,无论多小。小的时间吸盘加起来。一个例子我有几个目录,我在工作时会反复访问这些目录。要在命令行中更改为不同的文件夹,就像cd../accounts那......
  • String字符串
          ==号的比较:  字符串的比较;  ......
  • 剑指offer38(Java)-字符串的排列(中等)
    题目:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例:输入:s="abc"输出:["abc","acb","bac","bca","cab","cba"] 限制:1<=s的长度<=8来源:力扣(LeetCode)链接:https://leetcode.cn/pr......
  • 练习4-1 编写一个函数strrindex(s, t),用于返回字符串t在s中最右出现的位置,如果 s中不
    #include<stdio.h>#include<string.h>intstrrindex(chars[],chart[]){inti,j,k;intlen=strlen(s);for(i=len-1;i>=0;i++){for(j=i,k=0;t[k]!=0&&s[j]==t[k];j++,k++);if(k>0&......
  • java将集合里面的元素拼接为一条String字符串
    java将集合里面的元素拼接为一条String字符串1️⃣随便创建一个list集合,往里面塞入元素  2️⃣第一种方式:通过foreach循环实现  但是通过这种方式只能将list集合里面的元素取出来变成一天string类型的字符串,不能根据自己的想法拼接  2️⃣第二种方式【推荐】:通过st......
  • java去掉字符串前面的空格
    Java去掉字符串前面的空格可以使用trim()方法,例如:Stringstr="helloworld";str=str.trim();//去掉前面的空格System.out.println(str);//输出"helloworld"trim()方法会返回去掉前后空格的字符串副本,原字符串不会发生改变。如果要去掉字符串中间的空格......