锟斤拷语加密器

  • 灵感
  • 这个乱码咋回事
  • 代码实现
  • 结语

诗曰:“手持两把锟斤拷,口中疾呼烫烫烫。脚踏千朵屯屯屯,笑看万物锘锘锘。”(狗头)

灵感

前段时间在宿舍楼下刷脸的时候,突然蹦出了一堆乱码。


(保护一下个人信息)
我就寻思,学校这个垃圾系统这是多少年头了,竟有4大乱码之一的“锟斤拷语”。闲来无事,上网查了下原理,准备做一个小加密器。

这个乱码咋回事

Unicode是一直在更新的,在这个过程中,肯定有一些比较新的字符他是无法表示的。或者即使Unicode发布了新版纳入了某个文字,但是很多软件系统并未升级也会有这样的问题。
就像生活中一些手机厂商新出的那些emoji表情,在自己的手机上可以正常显示,发到其他品牌的手机上可能就无法显示。这其实也是字符集不支持导致的。
发生以上情况时,无法显示的时候也需要有一个字符来表示的,在Unicode中,这个字符就是 ,他也是Unicode中定义的一个特殊字符。也就是"0xFFFD REPLACEMENT CHARACTER",所有无法表示的字符都会通过这个字符来表示。
我们上网的时候不用去关心网站采用了什么编码格式,但是页面中不时出现的乱码还是会让我们头疼。在这点上,Firefox的用户更是深有体会,用Firefox浏览网页看到乱码的机会要比Internet Explorer多得多。 乱码主要与字符编码系统有关。例如一个网页中常出现的乱码“锟斤拷”,它就是新老编码系统转换中出现的。
锟斤拷涉及unicode的字符集转换问题,Unicode和老编码体系的转化过程中,肯定有一些字,用Unicode是没法表示的,Unicode官方用了一个占位符来表示这些文字,这就是:U+FFFD REPLACEMENT CHARACTER。U+FFFD的UTF-8编码是0xEFBFBD,如果重复多次形成:EFBFBDEFBFBDEFBFBD 。
在GBK/CP936/GB2312/GB18030的环境中显示的话,一个汉字2个字节,最终的结果就是:锟斤拷——锟(0xEFBF),斤(0xBDEF),拷(0xBFBD)。

来源:百度百科(我相信你一定查过了吧)

代码实现

import osa = input('请选择你的功能(1、加密 2、解密):')if a == "1":s = input('请输入你要加密的话:')utf = s.encode('utf')gbk = s.encode('utf').decode('gbk', errors='ignore')if len(s)%2 == 1:gbk = gbk + "�"print(gbk)os.system("pause")if a == "2":s = input('请输入你要解密的话:')gbk = s.encode('gbk')utf = s.encode('gbk').decode('utf-8', errors='ignore')print(utf)os.system("pause")

没啥含金量,就是编码来回转换,说个我碰见的问题吧:
根据上面的原理,GBK两个字节一个汉字,Unicode三个字节一个汉字,所以说加密的每个汉字转换成一个半密文。
到这问题就来了,正常结尾的半个字符我们直接变成“�”就好了,但是多出来的编译器不认识,就会报错。
这时候我们在decode那行里加上error = ’ignore‘

    gbk = s.encode('utf').decode('gbk', errors='ignore')utf = s.encode('gbk').decode('utf-8', errors='ignore')

没错,我们无视它,然后手动把那个“�”补上。

接下来是解密部分的ignore到底有没有必要呢?
如果是完整的锟斤拷句子是没有必要加的,但是只要系统足够垃圾,“�”占位符有时候不会显示出来,为了防止可能出现的问题,我还是加上了。

结语

一时兴起整的小活,咱也在一直学习着呐,如果各位大佬有更好的想法,欢迎在评论区留言或者私信我呀。

【小玩意】锟斤拷语加密器相关推荐

  1. 11 | 二进制编码:“手持两把锟斤拷,口中疾呼烫烫烫”?

    11 | 二进制编码:"手持两把锟斤拷,口中疾呼烫烫烫"? 上算法和数据结构课的时候,老师们都会和你说,程序 = 算法 + 数据结构.如果对应到组成原理或者说硬件层面,算法就是我们 ...

  2. python3 中文乱码 锟斤_乱码问题解决之“锟斤拷”

    原标题:乱码问题解决之"锟斤拷" 本文作者:张语盈 本文编辑:李朋冲 技术总编:薛 原 乱码是我们在用stata读入文件时经常会出现并且令人头疼的问题,当我们错误定义了读入文件的编 ...

  3. 1 分钟带你认识从 � 到 锟斤拷

    作者 | 石头哥 来源 | 程序猿石头(ID:tangleithu) 以一首五言绝句作为开篇,你知道背后说的是什么吗? 手持两把锟斤拷 口中疾呼烫烫烫 脚踏千朵屯屯屯 笑看万物锘锘锘 � 为何物? 在 ...

  4. 看程序员如何给女朋友解释什么是锟斤拷?

    周末女朋友出去逛街了,我自己一个人在家看综艺节目,突然,女朋友给我打来电话. 过了一会,女朋友回来了,她拿出手机,给我看了她在超市拍的照片:  要想知道什么是乱码,需要先从计算机编码说起. 字符编码 ...

  5. 漫画:如何给女朋友解释什么是“锟斤拷”?

    作者 | 漫话编程 本文经授权转载自漫话编程(ID:mhcoding) 周末女朋友出去逛街了,我自己一个人在家看综艺节目,突然,女朋友给我打来电话. 过了一会,女朋友回来了,她拿出手机,给我看了她在超 ...

  6. Python模拟锟斤拷等各类乱码

    锟拷码和口字码 说到乱码问题就不得不提到锟斤拷,这算是非常常见的一种乱码形式,那么它到底是经过何种错误操作产生的呢?下面我们一步步探究. 看一个基本示例: "��".encode( ...

  7. java锟斤拷锟斤拷锟_锟斤拷?UTF-8与GBK互转乱码问题

    作为一名程序员,肯定有被乱码困扰的时候,真到了百思不得其解的时候,就会觉得:英文程序员真幸福. 但其实只要明白编码之间的转换规律,其实乱码so easy~ 我们知道,计算机存储数据都是2进制,就是0和 ...

  8. java 锟斤 解决乱码_java eclipse 开发中文乱码锟斤拷小锟斤拷锟

    最近在做项目的时候发现有些员工提交的代码到SVN上之后乱码了,eclipse没有乱码,乱码字样为"锟斤拷小锟斤拷锟斤拷植锟斤拷锟斤拷3146锟斤拷锟斤拷锟斤拷锟绞撅拷锟绞硷拷锟揭筹拷锟?&q ...

  9. “锟斤拷“的前世今生

    不管是在工作中还是生活中,相信很多同学都被"锟斤拷"深深的毒害过,比如这样, 这样, 还有这样, 那么究竟是为什么会出现这些奇怪的字符?接下来我们一探究竟! ASCII编码 在计算 ...

  10. java打印出 锟斤拷_一段java代码带你认识锟斤拷

    @Test public void testKunJinKao(){ String str="我不是锟斤拷"; try { byte[] buff=null; //让我们先看看几种 ...

最新文章

  1. Docker容器的备份与恢复,Docker镜像的备份与恢复
  2. 单招计算机专业综合测试,单招计算机专业模习题.doc
  3. python 第三方库
  4. 从txt导入10个数据c语言,怎么将txt中带逗号的数据导入定义好的数据结构中
  5. ###《Effective STL》--Chapter3
  6. SQL中多表查询:左连接、右连接、内连接、全连接、交叉连接
  7. 使用Google Custom Search打造站内搜索
  8. 转:单片机C语言中的data,idata,xdata,pdata,code
  9. 如何利用大数据做遗传病智能化诊断?| 硬创公开课
  10. 连接服务器,上传代码,Flashfxp5
  11. PMP是什么?PMP证书在国用处大吗?
  12. linux安装Aria2和部署AriaNg Web服务
  13. fastboot 刷system.img 提示 sending 'system' (*KB)... FAILED (remote: data too large)
  14. HowTo如何制作一个文字冒险游戏-里篇(1)
  15. objective c 函数声明
  16. unity中ui界面介绍
  17. 互联网时代的春秋战国
  18. 诛仙3el服务器位置,【诛仙3风吟】虚拟机镜像一键服务端+配套客户端+青萝+EL编辑器+GM工具+启动说明...
  19. 药检实验室如何规划设计
  20. 计算机科学与技术考研难度排行,考研专业的难度排名

热门文章

  1. android开启软键盘,Android肿么弹出软键盘,和开启软键盘
  2. 软键盘怎么打开,软键盘怎么调出来
  3. sql查询重复订单号
  4. 编写程序解决“百钱买百鸡”问题。公鸡五钱一只,母鸡三钱一只,小鸡一钱三只,现有百钱欲买百鸡,共有多少种买法?
  5. 机器视觉学习笔记(三)-- 图像采集(镜头)
  6. matlab学霸表白公式,【爱情物理学】520来了,看看理科学霸们创意的表白方式
  7. 伤感的英文单词[转帖]
  8. 联想服务器怎么拆硬盘,联想ThinkStation P900工作站高清拆解
  9. 服务器加什么网站才打开快,如何优化让网站打开速度更快些呢?
  10. 自动化!windows端自动化抢购茅台python脚本