[oeasy]python0127_中文系统_gbk_BIG5_南极星_内码转化

简介: [oeasy]python0127_中文系统_gbk_BIG5_南极星_内码转化

中文系统bgk 回忆上次内容

  • 汉字字形通过
  • 点阵式打字机
  • 像素级寻址的屏幕
  • 进入了计算机的世界


添加图片注释,不超过 140 字(可选)

  • 在海峡对岸的台湾同胞
  • 也进入了汉字时代


  • 他们会使用GB2312编码吗?
  • 能互通吗?🤔


中国台湾

  • BIG5 码
  • 是由 5 个公司联合制作的


  • 收录次序 取决于 频率
  • 然后是 笔画数
  • 然后是 康熙字典


  • 同时用 BIG5 编码和解码也是没有问题的
  • 但如果用BIG5编码
  • 却用gb2312解码就会有问题


添加图片注释,不超过 140 字(可选)

  • 不过存储的内容在文件里
  • 系统不知道用什么解码时
  • 默认自动会用 gb2312 解码
  • 这就造成了自动乱码


反之亦然

  • 我们用 gb2312 编码的文字
  • 用 gb2312 可以打开
  • 但是用 BIG5 打开就是乱码
  • 也需要转化


添加图片注释,不超过 140 字(可选)

  • 转化工具是有的
  • 能解决问题但很麻烦
  • 大量的输入输出编码解码的问题
  • 令人头大


添加图片注释,不超过 140 字(可选)

  • 确实麻烦

解决办法

  • 麻烦的地方正是机会所在

添加图片注释,不超过 140 字(可选)

  • 当时如果日文游戏或者台湾地区的游戏不能玩
  • 可能是因为字符编码格式不一致
  • 可以用南极星调整字符编码格式
  • 把不同编码格式进行转化
  • 把字节按照正确的方式进行解码
  • 就可以玩啦


  • 没有个标准整合一下吗?

GBK

  • GBK 即汉字内码扩展规范
  • 在GB2312的基础上扩展了繁体字符集
  • K 为汉语拼音 Kuo Zhan(扩展)中“扩”字的声母
  • 英文全称 Chinese Internal Code Specification
  • 最初是微软搞的
  • 虽然不是国家标准
  • 却是事实上的技术规范


添加图片注释,不超过 140 字(可选)

  • 共收入 21886 个汉字和图形符号
  • GB 2312 中的全部汉字、非汉字符号
  • BIG5 中的全部汉字(繁体兼容 GBK1)
  • 将 汉字、日本汉字、朝鲜汉字融合了
  • 合计 20902 个汉字


  • 标准并不是一蹴而就的

标准的烟花

  • 正如ASA X3.4-1963
  • 到 ASA X3.4-1965
  • 最终到ascii



添加图片注释,不超过 140 字(可选)

  • GB也在不断进化
  • 从GB/T 1355-86
  • 到GB/T 1355-2021
  • 这是小麦粉标准的进化




  • 从GB2312-1986
  • 再到GBK
  • 这是中文字符标准的进化



  • 但是还是有问题
  • GBK虽然兼容了BIG5 中的全部汉字
  • 但是无法兼容编码
  • 用GBK打开BIG5编码的文件还是乱码



问题

  • 如果新GBK兼容了BIG5编码
  • 就无法向前兼容gb2312


添加图片注释,不超过 140 字(可选)

  • 这无解了吗?
  • 时间自会给我们答案
  • 老天自有安排!


推荐一款 点阵字库

  • 中文点阵
  • 最小也需要 7x7 像素


添加图片注释,不超过 140 字(可选)

  • 这个风格很独特

字体辨识度

  • 字体辨识度

添加图片注释,不超过 140 字(可选)

字体样式

  • 1994年的《魔兽争霸》
  • 像素字体在RGB显卡的支持下
  • 字体不但可以有衬线
  • 而且可以有立体感




添加图片注释,不超过 140 字(可选)

  • 配色也很细腻

中文隶书

  • 智冠公司出品的《三国演义》

添加图片注释,不超过 140 字(可选)

  • 使用隶书和车马符号
  • 代表那个三国时代


终端时代的中文超文本编辑器

添加图片注释,不超过 140 字(可选)

  • 当时的wps系统

wps

  • 当时还没有所见即所得

添加图片注释,不超过 140 字(可选)

  • 使用一些编辑标记
  • 制作富文本


添加图片注释,不超过 140 字(可选)

  • 只有打印预览才能查看效果

中文之星

添加图片注释,不超过 140 字(可选)

  • 还可以做艺术字特效

总结

  • 中国的简体和繁体汉字
  • 字符数量都超级大
  • 彼此还认对方为乱码


  • 如果有一种编码 将所有的字符都能编进去就好了
  • 中日韩(CJK)
  • 简体繁体
  • 欧洲各种拼音
  • 梵文
  • 阿拉伯文
  • 等等等都包括进去


添加图片注释,不超过 140 字(可选)


目录
相关文章
|
2天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
18 4
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
24天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
241 55
|
22天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
105 80
|
13天前
|
存储 缓存 监控
局域网屏幕监控系统中的Python数据结构与算法实现
局域网屏幕监控系统用于实时捕获和监控局域网内多台设备的屏幕内容。本文介绍了一种基于Python双端队列(Deque)实现的滑动窗口数据缓存机制,以处理连续的屏幕帧数据流。通过固定长度的窗口,高效增删数据,确保低延迟显示和存储。该算法适用于数据压缩、异常检测等场景,保证系统在高负载下稳定运行。 本文转载自:https://www.vipshare.com
105 66
|
29天前
|
人工智能 C语言 Python
[oeasy]python051_什么样的变量名能用_标识符_identifier
本文介绍了Python中变量名的命名规则,强调标识符(identifier)必须以字母或下划线开始,后续可包含字母、下划线及数字。通过`isidentifier()`函数可验证字符串是否为合法标识符。文中还探讨了为何数字不能作为标识符的开头,并提供了相关练习与解答,最后提及这些规则源自C语言的影响。
114 69
|
1月前
|
Python
[oeasy]python050_如何删除变量_del_delete_variable
本文介绍了Python中如何删除变量,通过`del`关键字实现。首先回顾了变量的声明与赋值,说明变量在声明前是不存在的,通过声明赋予其生命和初始值。使用`locals()`函数可查看当前作用域内的所有本地变量。进一步探讨了变量的生命周期,包括自然死亡(程序结束时自动释放)和手动删除(使用`del`关键字)。最后指出,删除后的变量将无法在当前作用域中被访问,并提供了相关示例代码及图像辅助理解。
114 68
|
11天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
33 14
|
3天前
|
Python
[oeasy]python057_如何删除print函数_dunder_builtins_系统内建模块
本文介绍了如何删除Python中的`print`函数,并探讨了系统内建模块`__builtins__`的作用。主要内容包括: 1. **回忆上次内容**:上次提到使用下划线避免命名冲突。 2. **双下划线变量**:解释了双下划线(如`__name__`、`__doc__`、`__builtins__`)是系统定义的标识符,具有特殊含义。
18 3
|
5天前
|
安全 前端开发 数据库
Python 语言结合 Flask 框架来实现一个基础的代购商品管理、用户下单等功能的简易系统
这是一个使用 Python 和 Flask 框架实现的简易代购系统示例,涵盖商品管理、用户注册登录、订单创建及查看等功能。通过 SQLAlchemy 进行数据库操作,支持添加商品、展示详情、库存管理等。用户可注册登录并下单,系统会检查库存并记录订单。此代码仅为参考,实际应用需进一步完善,如增强安全性、集成支付接口、优化界面等。
|
5天前
|
存储 Python
[oeasy]python056_python中下划线是什么意思_underscore_理解_声明与赋值_改名字
在Python中,下划线有多种用途。单下划线(_)常用于避免命名冲突,如将`max`改为`max_`以保留内置函数功能。双下划线(__var__)通常用于特殊方法和属性,如`__name__`、`__doc__`等。此外,单下划线(_)在交互式解释器中表示上一次表达式的值,但不建议作为普通变量名使用。总结:下划线用于避免命名冲突及特殊标识。
13 1
下一篇
开通oss服务