b_千字文中没有的字 = '零 冰饼柄斌屏病、程晨惩橙曾乘春、罚阀乏筏、杰借姐街界届捷戒介截劫揭睫、鲲乾坤捆、潘判盼攀、\
期七奇齐弃欺企妻棋骑红旗汽泣、十式试视室失识势氏示装饰湿屎狮逝尸拾驶誓嗜匙噬魂柿虱弑、议已乙亿忆依医院毅姨怡翼遗奴役裔译疫病灾乱驿、\
芸晕韵允匀殒孕底蕴、忍员囚、贫、网络纪元、蚊虫鼠蚁朋里休三六七十冲浪冰岛乱编程序疫病已灾 裔族返祖  你他'
b_千字文中有10个字重复已替换 = '并饼、诚城、发筏、洁杰、昆鲲、盘磻、戚汽、实十、义役、云芸'
b_新加24个字组成1024 = '网络纪元 全球疫变 程序编码 先苦尾甜 统创六界 倒至坤乾'b_千字文 = '''
天地玄黄 宇宙洪荒 日月盈昃 辰宿列张 寒来暑往 秋收冬藏 闰余成岁 律吕调阳 云腾致雨 露结为霜 金生丽水 玉出昆冈
剑号巨阙 珠称夜光 果珍李柰 菜重芥姜 海咸河淡 鳞潜羽翔 龙师火帝 鸟官人皇 始制文字 乃服衣裳 推位让国 有虞陶唐
吊民伐罪 周发殷汤 坐朝问道 垂拱平章 爱育黎首 臣伏戎羌 遐迩一体 率宾归王 鸣凤在竹 白驹食场 化被草木 赖及万方
盖此身筏 四大五常 恭惟鞠养 岂敢毁伤 女慕贞洁 男效才良 知过必改 得能莫忘 罔谈彼短 靡恃己长 信使可覆 器欲难量
墨悲丝染 诗赞羔羊 景行维贤 克念作圣 德建名立 形端表正 空谷传声 虚堂习听 祸因恶积 福缘善庆 尺璧非宝 寸阴是竞
资父事君 曰严与敬 孝当竭力 忠则尽命 临深履薄 夙兴温凊 似兰斯馨 如松之盛 川流不息 渊澄取映 容止若思 言辞安定
笃初诚美 慎终宜令 荣业所基 籍甚无竟 学优登仕 摄职从政 存以甘棠 去而益咏 乐殊贵贱 礼别尊卑 上和下睦 夫唱妇随
外受傅训 入奉母仪 诸姑伯叔 犹子比儿 孔怀兄弟 同气连枝 交友投分 切磨箴规 仁慈隐恻 造次弗离 节义廉退 颠沛匪亏
性静情逸 心动神疲 守真志满 逐物意移 坚持雅操 好爵自縻 都邑华夏 东西二京 背邙面洛 浮渭据泾 宫殿盘郁 楼观飞惊
图写禽兽 画彩仙灵 丙舍旁启 甲帐对楹 肆筵设席 鼓瑟吹笙 升阶纳陛 弁转疑星 右通广内 左达承明 既集坟典 亦聚群英
杜稿钟隶 漆书壁经 府罗将相 路侠槐卿 户封八县 家给千兵 高冠陪辇 驱毂振缨 世禄侈富 车驾肥轻 策功茂实 勒碑刻铭
磻溪伊尹 佐时阿衡 奄宅曲阜 微旦孰营 桓公匡合 济弱扶倾 绮回汉惠 说感武丁 俊役密勿 多士十宁 晋楚更霸 赵魏困横
假途灭虢 践土会盟 何遵约法 韩弊烦刑 起翦颇牧 用军最精 宣威沙漠 驰誉丹青 九州禹迹 百郡秦并 岳宗泰岱 禅主芸亭
雁门紫塞 鸡田赤城 鲲池碣石 钜野洞庭 旷远绵邈 岩岫杳冥 治本于农 务兹稼穑 俶载南亩 我艺黍稷 税熟贡新 劝赏黜陟
孟轲敦素 史鱼秉直 庶几中庸 劳谦谨敕 聆音察理 鉴貌辨色 贻厥嘉猷 勉其祗植 省躬讥诫 宠增抗极 殆辱近耻 林皋幸即
两疏见机 解组谁逼 索居闲处 沉默寂寥 求古寻论 散虑逍遥 欣奏累遣 汽谢欢招 渠荷的历 园莽抽条 枇杷晚翠 梧桐蚤凋
陈根委翳 落叶飘摇 游鹍独运 凌摩绛霄 耽读玩市 寓目囊箱 易輶攸畏 属耳垣墙 具膳餐饭 适口充肠 饱饫烹宰 饥厌糟糠
亲戚故旧 老少异粮 妾御绩纺 侍巾帷房 纨扇圆杰 银烛炜煌 昼眠夕寐 蓝笋象床 弦歌酒宴 接杯举觞 矫手顿足 悦豫且康
嫡后嗣续 祭祀烝尝 稽颡再拜 悚惧恐惶 笺牒简要 顾答审详 骸垢想浴 执热愿凉 驴骡犊特 骇跃超骧 诛斩贼盗 捕获叛亡
布射僚丸 嵇琴阮啸 恬笔伦纸 钧巧任钓 释纷利俗 饼皆佳妙 毛施淑姿 工颦妍笑 年矢每催 曦晖朗曜 璇玑悬斡 晦魄环照
指薪修祜 永绥吉劭 矩步引领 俯仰廊庙 束带矜庄 徘徊瞻眺 孤陋寡闻 愚蒙等诮 谓语助者 焉哉乎也
网络纪元 全球疫变 程序编码 先苦尾甜 统创六界 倒至坤乾 '''
#print(len(b_千字文))
b_千字文=b_千字文.replace("\n", "").replace(" ", "")  # 先去掉空格和换行
#print(len(b_千字文))
def h_加空格整理():i=0AAA=''while i<len(b_千字文):AAA += b_千字文[i:i+4]AAA += ' 'i+=4print(AAA)def h_千进制编码(s0=None, s1=None, s2=None, s3=None, s4=None):"""s0、s1、s2 依次为第一、二、三个字节1 10 11 100 101 110 111 10001  2  3   4   5   6   7    8"""#print(s0, s1, s2, s3, s4)  # 32a1 = s0 << 2#print(a1)  # 128a2 = (s1 & 192) >> 6#print(a2)  # 0a = a1 + a2#print(a)a = b_千字文[a]#print(a)b1 = (s1 & 63) << 4#print(b1)b2 = (s2 & 240) >> 4#print(b2)b = b1 + b2#print(b)b = b_千字文[b]#print(b)c1 = (s2 & 15) << 6#print(c1)c2 = (s3 & 252) >> 2#print(c2)c = c1 + c2#print(c)c = b_千字文[c]#print(c)d1 = (s3 & 3) << 8#print(d1)d2 = s4#print(d2)d = d1 + d2#print(d)d = b_千字文[d]#print(d)#print(''.join([a, b, c, d]))return ''.join([a, b, c, d])def h_千字文编码(b_字节数据):b_字节个数 = len(b_字节数据)if b_字节个数 == 0:b_字节数据+=b'\x00'b_字节个数 = len(b_字节数据)print(str(b_字节个数)+'字节数出错')return str(b_字节个数)+'字节数出错'# 不是5的倍数补齐b_字节余数 = b_字节个数 % 5if b_字节余数 == 1:b_字节数据 += b'\x00\x00\x00\x00'b_字节个数 += 4elif b_字节余数 == 2:b_字节数据 += b'\x00\x00\x00'b_字节个数 += 3elif b_字节余数 == 3:b_字节数据 += b'\x00\x00'b_字节个数 += 2elif b_字节余数 == 4:b_字节数据 += b'\x00'b_字节个数 += 1#print(b_字节个数,'个字节')# 开始调用处理i = 0base_千字文 = ''while i < b_字节个数 - 5:b_返回四字 = h_千进制编码(b_字节数据[i], b_字节数据[i + 1], b_字节数据[i + 2], b_字节数据[i + 3], b_字节数据[i + 4])base_千字文 += b_返回四字i += 5#print(str(i)+'个已完成')b_返回四字 = h_千进制编码(b_字节数据[i], b_字节数据[i + 1], b_字节数据[i + 2], b_字节数据[i + 3], b_字节数据[i + 4])base_千字文 += b_返回四字[0]if b_字节余数 == 4 or b_字节余数 == 0:base_千字文 += b_返回四字[1]base_千字文 += b_返回四字[2]base_千字文 += b_返回四字[3]if b_字节余数 == 4:base_千字文 += '零'elif b_字节余数 == 3:base_千字文 += b_返回四字[1]base_千字文 += b_返回四字[2]base_千字文 += '零零'elif b_字节余数 == 2:base_千字文 += b_返回四字[1]base_千字文 += '零零零'elif b_字节余数 == 1:base_千字文 += '零零零零'#print(base_千字文)return base_千字文# h_二进制位移(20, 0x86, 0xaf)def h_千进制解码(a=None, b=None, c=None, d=None):# a1=922;        b1=137;      c1=121;     d1=648# 11100110|10 001000|1001 0001|111001 10|10001000# 230    136# 参考数字转字节 - 远洪 - 博客园 https://www.cnblogs.com/liyuanhong/p/12133745.htmla1 = b_千字文.find(a)b1 = b_千字文.find(b)c1 = b_千字文.find(c)d1 = b_千字文.find(d)#print(a1, b1, c1, d1)s0 = (a1 & 1020) >> 2  # 前8个s0 = s0.to_bytes(1, byteorder='big')  # 转为字节码#print(s0)  # 32s1_1 = (a1 & 3) << 6  # 后2个s1_2 = (b1 & 1008) >> 4  # 前6个s1 = s1_1 + s1_2s1 = s1.to_bytes(1, byteorder='big')  # 转为字节码#print(s1)s2_1 = (b1 & 15) << 4  # 后4个s2_2 = (c1 & 960) >> 6  # 前4个s2 = s2_1 + s2_2s2 = s2.to_bytes(1, byteorder='big')  # 转为字节码#print(s2)s3_1 = (c1 & 63) << 2  # 后6个s3_2 = (d1 & 768) >> 8  # 前2个s3 = s3_1 + s3_2s3 = s3.to_bytes(1, byteorder='big')  # 转为字节码#print(s3)s4 = (d1 & 255)   # 后8个s4 = s4.to_bytes(1, byteorder='big')  # 转为字节码#print(s4)#print(s0+s1+s2+s3+s4)return s0+s1+s2+s3+s4def h_千字文解码(b_千字文码):b_零的数量=0while b_千字文码[-1]=='零':b_千字文码 = b_千字文码[0:-1]b_零的数量 += 1#print(b_千字文码)#print(b_零的数量)b_千字文个数 = len(b_千字文码)# 不是4的倍数补个天b_千字文余数 = b_千字文个数 % 4if b_千字文余数 == 1:b_千字文码 += '天天天'b_千字文个数 += 3elif b_千字文余数 == 2:b_千字文码 += '天天'b_千字文个数 += 2elif b_千字文余数 == 3:b_千字文码 += '天'b_千字文个数 += 1# 开始调用处理i = 0b_字节码 = b''#print(b_千字文码)while i < b_千字文个数 -4:b_返回五字节 = h_千进制解码(b_千字文码[i], b_千字文码[i + 1], b_千字文码[i + 2], b_千字文码[i + 3])b_字节码 += b_返回五字节i += 4#print(str(i)+'个已完成')b_返回五字节 = h_千进制解码(b_千字文码[i], b_千字文码[i + 1], b_千字文码[i + 2], b_千字文码[i + 3])b_字节码 += b_返回五字节#print(b_字节码)b_字节码=b_字节码[0:-b_零的数量]#print(b_字节码)return b_字节码if __name__ == '__main__':b_字节内容='网络纪元 全球疫变 程序编码 先苦尾甜 统创六界 倒至坤乾'.encode('UTF-8')b_千字文编码=h_千字文编码(b_字节内容)print('编码好的:'+b_千字文编码)b_已解字节内容=h_千字文解码(b_千字文编码)b_文本内容=b_已解字节内容.decode("utf-8")print('解码好的:'+b_文本内容)

上面是千字文编码库

下面是调用方法

import base1024千字文b_编好的字节码 = base1024千字文.h_千字文编码(b_要编的字节)  b_解好的字节码 = base1024千字文.h_千字文解码(f.read())

python用千字文做的一个base1024千进制编码。变量都是用中文命名的。非常好用,加的24个字只可意会不可言传!相关推荐

  1. python千进制编码

    python千进制编码 """ 最近看到华为出了仓颉编程 都在说中文不合适, 说这话的人肯字是吃过不少苦的程序员,想让新来的人把他们吃过的苦再吃一遍. 编程最终都是要转为 ...

  2. 计算机课进制笔记,初学Python课程笔记-第一课(计算机基本概念+进制+环境变量)...

    这是我第一次写博客,简单地聊聊当下的感受.其实,早在大学期间就有过把自己所学的一些知识点记录在某个平台,可供日后自己复习.只是本人并非计算机专业出身,平时写代码写得不是不多.直到毕业参与工作,从事软件 ...

  3. python内置函数bin,Python内置函数bin() oct()等实现进制转换

    Python内置函数bin() oct()等实现进制转换 使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: ...

  4. 解决python 保存json到文件时 中文显示16进制编码的问题

    解决python 保存json到文件时 中文显示16进制编码的问题 参考文章: (1)解决python 保存json到文件时 中文显示16进制编码的问题 (2)https://www.cnblogs. ...

  5. python 40位的数减个位数_Python——进制表示与转换

    在前面两篇文章中介绍了基本的数据类型(Python--记录3--数据类型1,Python--记录4--数据类型2),其中讲到浮点数的计算是通过转换成二进制进行的,那么到底什么是二进制,以及计算机到底包 ...

  6. python如何输出结果为16_python 以16进制打印输出的方法

    python 以16进制打印输出的方法 更新时间:2018年07月09日 13:47:12 作者:CSDN_Flying 今天小编就为大家分享一篇python 以16进制打印输出的方法,具有很好的参考 ...

  7. Python Tkinter 小项目 RGB数值转换为16进制码

    欢迎来到<Python 小项目>专栏,这个专栏会不定时更新Python的小项目,大家可以订阅关注哦! 这次,我们用Tkinter写一个RGB转16进制的一个小工具,先看看效果: 代码教学: ...

  8. python十进制转八进制_Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)...

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x) Convert an integer num ...

  9. 用bat脚本写一个输入16进制转ascii码的代码

    以下是一个使用 BAT 脚本实现 16 进制转 ASCII 码的代码示例: @echo off set /p hex=请输入16进制字符串: for /l %%i in (0,1,%hex:~0,-2 ...

最新文章

  1. HikariPool使用MySQL/MariaDB数据库报错解决:java.sql.SQLException: Access denied for user 'root'@'localhost' (u
  2. careercup-中等难度 17.5
  3. android 手机内存其他文件夹里,手机储存里的其他是什么以及应该怎样删除
  4. ehcache 手动刷新缓存_【第 21 期】一个架构师的缓存修炼之路
  5. MySQL模糊查询—is null关键字
  6. AppScan api登录接口 postman_如何通过Postman调用EDI系统的API?
  7. 计算机网络结构示意图,计算机网络原理-计算机网络体系结构.pdf
  8. python输入三行、能出来三行数据_python 读入多行数据的实例
  9. docker下mongodb备份导入数据库
  10. 载波恢复算法 Blind Phase Search 算法(盲相位搜索算法 BPS算法)
  11. FileExplorer手机访问电脑文件
  12. Windows部署Tomcat8启动服务
  13. 博士伦-SCI论文撰写培训
  14. python字符串相减
  15. Maxwell终极释放 单芯王者Titan X首测
  16. 中小学计算机网络培训心得体会,计算机网络培训心得体会
  17. 怎样一键比较2个CAD图纸文件的不同呢?
  18. 问题解决:idea 中无法连接 sql server 数据库,报错 [08S01] 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接
  19. vue导入excel进度条_vue中使用excel导入导出
  20. 服务价值 100 万亿美元的行业,是时候收购市场领导者英伟达了

热门文章

  1. 从零实现深度学习框架——LSTM从理论到实战【理论】
  2. php获取文本宽度,PHP获取一段文本显示点阵宽度和高度的方法
  3. C# EXCEL创建,编辑,导出,按模板保存以及Excel与 DataGridView互转
  4. DHCP Option43配置
  5. Web前端:新闻网页案例设计
  6. wp admin themes.php,wordpress主题后台制作教程-添加简单的设置选项|wordpress主题定制-阿树工作室...
  7. 菜鸟程序员都是怎样写代码的?你也可以学一手
  8. Oracle数据库 的监控
  9. Altium Designer--如何走蛇形线
  10. 韩の花样男子 全集跟踪BT下载 每周更新