zoukankan      html  css  js  c++  java
  • 计算机中字符编码简介以及python中文件文本了解


    一,字符编码:

    针对的都是文字

    输入的字符 通过相应的字符编码表 翻译成计算机所能识别的二进制数字。

    其实对计算机而言,字符只不过是一些相对应二进制数字。

    字符编码的发展:

    最开始用的字符编码表为 ASCII 码。用八位二进制来表示一个英文字符。

    经过时间的沉淀,之后各个国家都有自己的一套字符编码表。 例如 我们自己用的时GBK编码表。

    又后来经过一些历史的沧桑,全球制定了一个Unicode 字符编码表,所有国家的字符都能解码,就再也不用担心字符不能识别了。

    但是Unicode有个致命的缺点,就是程序运行效率低,且浪费储存空间。

    不过,当内存中的Unicode 字符编码格式读到硬盘的时候,会按照UTF-8 编码,也就是会节省空间。

    现在的计算机 内存的字符编码表都是Unicode, 而硬盘的都是UTF-8.

    Unicode 字符编码表的特点总结:

    1.用户再输入的时候,不论是什么字符,它都能兼容。

    2.当不同国家的编码数据由硬盘传到内存时,Unicode上都有与之对应的关系。


    字符编码总结:

    当数据由内存保存到硬盘时:

    1.内存中的Unicode编码格式二进制数据 ------------通过encod(编码)-----UTF-8的编码格式二进制数据 ----- 保存到硬盘

    当数据由硬盘读取到内存时:

    1.将硬盘中的UTF-8的编码格式二进制数据 ---------通过decode(解码)----- Unicode编码格式二进制数据 ----读取到内存

    文本文件以什么编码的编的,就以什么编码解

    二,文件头

    python 写程序时,文件头要写个coding:utf-8

    当你不标注文件头的时候,解释器会默认自己的格式储存数据----比如python2中会以ASCII码储存。

    所有的编码都支持英文字符。

    在python解释器中只要时用到中文前面都需要加个 字母u


    三,文件处理以及处理模式:

    1.open 打开

    r ---- 取消转义

    x = open(r'D:feiqRecv Filesday07 est',encoding='utf-8') -----像操作系统发送请求,如果把它赋值给一个变量名,相当于成了遥控器来操作。

    x.read() 像操作系统发送请求读取文件内容。
    x.close() 让操作系统关闭打开的文件

    2.with 操作文件上下文。

    with open(r'......................','utf-8') as d,
    open (r'......................','utf-8') as d1:

    3.write 写入
    readable 判断是否可读
    writetable 判断是否可写

    打开两个文件,当你在with外层级操作时,文件会关闭。


    4文件打开的模式

    1. mode 为 r 时, 只读模式,而且是一次性将文件内容全部读出。不可修改文件。如果不写r, 默认为r模式。

    2.mode 为 w时,只写模式,当文件不在时,自动创立该文件。当文件存在时,会先清空原文件内容再写入。

    3.mode为 a 时,是追加写模式,当文件不在时,会自动创建该文件。当文件存在时,会继续在原文件的最后续写。


    5.操作文件的单位方式:

    t 是指文本文件。 需要指定 encoding 参数。 mode参数不写的话,默认为t 。

    b 是二进制。一定不能指定 encoding 参数,一般传其他文件时会写该参数

  • 相关阅读:
    Linux笔记 三剑客之sed
    Linux笔记 用户组管理
    Linux实验之软件管理
    Linux实验之系统安装
    gd_t , bd_t 结构分析
    编辑linux内核与bosybox 时,make menuconfig 出现错误
    4412裸板开发 (1点灯)
    tiny4412SDK 1312B 启动ubuntuDsektop
    tiny4412 启动方式
    linux minitools+minicom 安装及使用
  • 原文地址:https://www.cnblogs.com/wujc3/p/11140666.html
Copyright © 2011-2022 走看看