python3 字符编码与转码的理解
额。。。上通识课讲到了NLP12条,感觉讲的挺好的,照着抄一条先。。。
1,没有两个人是一样的
没有两个人的人生经验会完全一样,所以没有两个人的信念,价值和规条系统会是一样。
因此没有两个人对同一件事的看法能够绝对一致。
因此没有两个人对同一件事的反应会是一样的。
因此没有两个人的态度和行为模式会完全一样。
因此发生在一个人身上的事,不能假定发生在另一个人身上也会有一样的结果。
人与人之间的不同,建造了这个世界的奇妙可贵。
尊重别人的不同之处,别人才会尊重自己独特的地方。
每一个人的信念,价值观和规条系统都是在不断演变中,所以没有一个人在两分钟是一样的。
两个人的信念,价值观和规条不一样,不一定会使两个人不能沟通或发展出良好关系。
给别人空间也就是尊重别人的信念,价值观和规条,才能有良好的沟通和关系。
同样地,自己与别人的看法不同,也是正常的事。
当尊重别人的信念,价值观和规条的同时,我们也有权力要求别人尊重自己的信念,价值观和规条。
相当有道理哈。。。
补个文件操作方法: 对于总是忘记关文件这一问题 最好用:
with open("file_name", "r", encoding= "utf-8") as f1, \
open("file_name2", "r", encoding= "utf-8") as f2:
一系列操作。。。。
这操作我喜欢!
然后还补个修改文件内容的方法:
本质上来说是不可能修改文件内容的,讲道理可以把文件从硬盘里拉到内存,比如用vim然后在内存里修改内容,这可以,但你搞个大文件内存就爆了,不好。
真正说来,修改文件其实是在写一份。。。一行一行的读源文件,不改的就写道新文件里,到了要改的内容就把它给改了再写道新文件里。。。。。就是这么操作的!如下所示:
#!usr/bin/env/ python
# -*- coding:gbk -*-
# Author: XiaoFeng
import sys
find_str = sys.argv[1]
replace_str = sys.argv[2] # 原来sys.argv是这么用的。。。 在窗口界面操作给他赋值
with open("file_old", "r", encoding= "utf-8") as f1, \
open("file_new", "w", encoding= "utf-8") as f2:
for line in f1: # 这里f1就相当于迭代器了 是啥我也不知道,但是输出一行是证实了的
if "fin_str" in line: # 找到有"est"的那一行
line = "replace_str" #把这行直接从写
f2.write(line)
今天只学了编码解码。。。课多啊从早到晚 妈耶
首先得知道万国码unicode 最牛逼的 兼容万国啊 中文,英文都是两字节
其次是utf-8 中文的 英文一字节,因为包括的就是ASCLL码 但中文三字节 中国人有钱,人性 所以utf-8是长度可变的编码
还有个gbk编码 windows上用的把。。。
不同的文件用不同编码在不同的地方当然就打不开啦
所以 通用法就是 先解码成 中介:unicode 然后再编码成能是别的就行了
学个操作: sys.getdefaultencoding() 获取系统默认编码 我的python3里设置的是utf-8
奇葩的是 在程序里的 数据类型 却是unicode 搞不懂。。。。。。
一下是联系的草稿。。。。。。。。。。。。。。。没搞太懂哦
#!usr/bin/env/ python
# -*- coding:gbk -*-
# Author: XiaoFeng
import sys # 上面的声明作用是告诉python3这是个gbk编码的文件 然后python就知道它是啥文件了,然后就把它解码成unicode
print(sys.getdefaultencoding()) # 结果显示我这个 python3程序的默认编码是utf-8
s = "哈哈哈" # 这里又不一样了,管你啥文件编码,python3程序里 数据类型 就是是unicode编码
print(s) # 所以这里可以直接输出中文 print("-" * 50)
s_utf8 = s.encode("utf-8") # 注意Py3里 只会转成字节型
print(s_utf8)
print(s_utf8.decode()) # decode() 想要输出汉字还得decode一下才行(奇葩) print("-" * 50)
s_gbk = s.encode("gbk") # 把数据类型从unicode变成gbk
print(s_gbk)
# 现在是gbk编码 想输出中文,那得变成py3的 utf-8
# 所以先把gbk解码为unicode 然后再编码为utf-8
# decode()括号里要告诉unicode我是啥 decode()括号里要告诉unicode我想变成啥
# 注意Py3里 encode()只会转成字节型 想要输出中文还得decode()一下才行
print(s_gbk.decode("gbk").encode().decode())
python3 字符编码与转码的理解的更多相关文章
- Python基础-字符编码与转码
***了解计算机的底层原理*** Python全栈开发之Python基础-字符编码与转码 需知: 1.在python2默认编码是ASCII, python3里默认是utf-8 2.unicode 分为 ...
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
- 小白的Python之路 day2 字符编码和转码
字符编码和转码 详细文章: http://www.cnblogs.com/yuanchenqi/articles/5956943.html http://www.diveintopython3.net ...
- Python字符编码与转码
字符编码与转码 注: 该图转自 http://www.cnblogs.com/luotianshuai/p/5735051.html. Python2 解码,编码 #Python2 #-*- codi ...
- 【python】-- 字符串、字符编码与转码
字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可:访问子字符串,可以使用方括号来截取字符串: var1 ...
- day008 字符编码之 字符编码 、Python2和Python3字符编码的区别
计算机基础(掌握) 启动应用程序的流程 双击qq 操作系统接受指令然后把该操作转化为0和1发送给CPU CPU接受指令然后把指令发送给内存 内存接受指令把指令发送给硬盘获取数据 qq在内存中运行 文本 ...
- Python中字符编码及转码
python 字符编码及转码 python 默认编码 python 2.X 默认的字符编码是ASCII, 默认的文件编码也是ASCII python 3.X 默认的字符编码是unicode,默认的文件 ...
- python基础之 列表、元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 1. 列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义列表 ...
- Python3 字符编码
编码 字符串是一种数据类型,但是,字符串比较特殊的是还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节 ...
随机推荐
- MVP架构在xamarin android中的简单使用
好几个月没写文章了,使用xamarin android也快接近两年,还有一个月职业生涯就到两个年了,从刚出来啥也不会了,到现在回头看这个项目,真jb操蛋(真辛苦了实施的人了,无数次吐槽怎么这么丑),怪 ...
- 部署点评Cat监控项目
在项目中监控代码运行的状况,可以采用点评的Cat项目来监控整个项目,但是按照官方的文档来部署cat,总会遇到各种问题,讲解的也不够简明清楚,现在用一个单机来部署运行cat监控项目. 首先,到项目的Gi ...
- FPGA学习笔记(一)——初识FPGA
###### [该随笔部分内容转载自小梅哥] ######### FPGA(Field-Programmable Gate Array,现场可编程门阵列),正如其名,FPGA内部有大量的可 ...
- 在线OJ使用总结(acm)
赛码网OJ规则 用readLine()代替read_line() 用readLine()代替read_line() 用readLine()代替read_line() 用readLine()代替read ...
- 创建本地数据库mySQL并连接JDBC
转自: http://blog.csdn.net/wei_chong_chong/article/details/44830491 如何创建本地数据库MySQL并连接JDBC 转载 2015年04月0 ...
- Java 读书笔记 (八) 修饰符
Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 访问控制修饰符 default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符.使用对象.类.接口.变量.方法. ...
- sprintf、strcpy 及 memcpy 函数区别
这些函数的区别在于 实现功能 以及 操作对象 不同.strcpy 函数操作的对象是 字符串 ,完成 从 源字符串 到 目的字符串 的 拷贝 功能. sprintf 函数操作的对象 不限于字符串 :虽然 ...
- bzoj [HNOI2008]Cards
群论第一题. 发现这题也是有颜色个数限制的,所以不能用$Polya$,只能用$Burnside$ $L={\frac{1}{|G|}}{\sum_{i=1}^{m}{D(a_{i})}}$ 先$dfs ...
- BZOJ_5249_Luogu_P4364_[2018多省省队联测]_IIIDX_九省联考2018_JLOI2018_线段树
BZOJ_5249_[2018多省省队联测]IIIDX_线段树 Description [题目背景] Osu听过没?那是Konano最喜欢的一款音乐游戏,而他的梦想就是有一天自己也能做个独特酷炫的音乐 ...
- hello spring春天来了
这是小小小零食 废话不多说 现在看到 spring这个管家 先说第一个 ioc :在每个框架的中都有一个容器的概念,所谓的容器就是将常用的服务,封装起来,然后,用户只需要遵循一定的规则,就可以达到统 ...