字符

Python --字符编码总结

元气小坏坏 提交于 2020-04-05 18:42:26
一、了解字符编码的知识储备   1. 文本编辑器存取文件的原理(nodepad++,pycharm,word)      打开编辑器就打开了启动了一个进程,是在内存中的,所以在编辑器编写的内容也都是存放与内存中的,断电后数据丢失,因而需要保存到硬盘上,点击保存按钮,就从内存中把数据刷到了硬盘上。在这一点上,我们编写一个py文件(没有执行),跟编写其他文件没有任何区别,都只是在编写一堆字符而已。     即:在没有点击保存时,我们所写的内容都是写入内存。注意这一点,很重要!!当我们点击保存,内容才被刷到硬盘。     上面做了两件事:写内容到内存,从内存将内存刷到硬盘。这是两个过程。 2. python解释器执行py文件的原理 ,例如python test.py     第一阶段:python解释器启动,此时就相当于启动了一个文本编辑器     第二阶段:python解释器相当于文本编辑器,去打开test.py文件,从硬盘上将test.py的文件内容读入到内存中     第三阶段:python解释器解释执行刚刚加载到内存中test.py的代码     python解释器执行py文件分为两个步骤:1.将文件读到内存,2.解释执行内容。 二、字符编码简介   要搞清楚字符编码,首先要解决的问题是: 什么是字符编码 ?   我们都知道,计算机要想工作必须通电,也就是说‘电’驱使计算机干活

马哥教育第三周

最后都变了- 提交于 2020-04-05 18:41:38
vim命令格式 +# 打开文件后,让光标处于第#行的行首,+默认行尾 +/PATTERN 让光标处于第一个被PATTERN匹配到的行行首 -b file 二进制方式打开文件 -d file1 file2… 比较多个文件,相当于 vimdiff -m file 只读打开文件 -e file 直接进入ex模式,相当于执行ex file 说明: 如果该文件存在,文件被打开并显示内容 如果该文件不存在,当编辑后第一次存盘时创建它 命令模式-->插入模式 i insert, 在光标所在处输入 I 在当前光标所在行的行首输入 a append, 在光标所在处后面输入 A 在当前光标所在行的行尾输入 o 在当前光标所在行的下方打开一个新行 O在当前光标所在行的上方打开一个新行 插入模式 --- ESC-----> 命令模式 命令模式 ---- : ----> 扩展命令模式 扩展命令模式 ----ESC,enter----> 命令模式 扩展命令模式基本命令 退出VIM w 写(存)磁盘文件 ZZ 保存退出 wq 写入并退出 ZQ 不保存退出 x 写入并退出 X 加密 q 退出 q! 不存盘退出,即使更改都将丢失 r filename 读文件内容到当前文件中 w filename 将当前文件内容写入另一个文件 !command 执行命令 r!command 读入命令的输出 行号:显示简写 set

vim

ε祈祈猫儿з 提交于 2020-04-05 18:15:33
vim 模式 - 正常模式 - 插入模式 - 命令模式 - 可视模式 vim I 进入编辑模式,光标来到当前行的开头 i 进入编辑模式,光标在当前位置 a 进入编辑模式,光标来到当前位置的后一个字符 A 进入编辑模式,光标来到当前行的尾部 o 进入编辑模式,光标来到当前行的下一行 O 进入编辑模式,光标来到当前行的上一行 ##### 普通模式##### yy 复制一整行 y$ 复制当前位置到当前行结尾 p 粘贴复制的内容 dd 剪切一整行 d$ 剪切光标当前位置到当前行尾 x 删除一个字符 r 光标移动到某个位置(假设当我位置为e),先按r,然后再输入6,则e被替换为6 : set nu 显示行数 5 G:移动光标到指定行(第5行) gg 第一行行首 G 最后一行的行首 ^ 来到当前行的行首 $ 来到当前行结尾 命令模式: :! ifconfig 在vim命令模式查看ifconfig输出,回车返回命令行 / 查找内容 按n查找下一个字符,shift + n 查找上一个字符 :s/aaa/bbb 将光标当前行的aaa替换成bbb,单次替换 :s/aaa/bbb/g 将光标当前行的aaa替换成bbb,多次替换 :%s/aaa/bbb/g 将整个文本中的aaa替换成bbb :set nohlsearch 去掉高调显示 :set nu 显示行号 :set nonu 不显示行号

计算与软件工程 作业四_2

爷,独闯天下 提交于 2020-04-05 18:10:26
作业一:代码规范复审 见链接: 代码规范复审 作业二:结对编程 作业要求见链接: 作业要求 中的作业2 参考的博客: 关于C++的文件操作: 博客1 、 博客2   关于CSV文件: 博客1 、 博客2 本次的作业是在我和舍友的合作下共同完成,两人进行结对编程,最后是通过C++语言实现对红楼梦和水浒传简单的按章节的人物统计。中间经历了前期准备、线上结对编程以及后期完善,并将代码托管到了gitee上。 结对编程的过程   第一次体验结对编程,不可否认的是结对编程的的确能够带来很多独自编程没有的好处,它有助于我们对作业更全面的认识,包括经验的共享与知识的共享、对于为什么做、怎么做和做什么会有更明确思路和清晰的想法;并且与同伴间的互相交流和鼓励能使我们在编程的路上走得更远。 一、前期准备   在老师发布作业后,先是大致了解了一下作业内容,在作业一(代码复审)大致完成后逐步开始了作业二的准备。本次的结对编程我和舍友李晓萱组的队,她的博客主页见 --> _L_L <-- .前期我们先各自进行一些相关的网页文献和程序代码的查阅和搜集,然后分享和交流。发现网上实现对红楼梦等名著的人物统计的程序大多是通过Python,Python的确很强大,emm但是没有接触过,电脑内存也比较紧张,所以两人商量后,决定先用平时接触较多的C++来试试。因为C++无法直接绘制图表,而CSV文件可以直接用Excel打开

ASCII,Unicode编码和UTF-8解惑

生来就可爱ヽ(ⅴ<●) 提交于 2020-04-05 16:58:57
ASCII,Unicode和UTF-8终于找到一个能完全搞清楚的文章了 转载:Deft_MKJing宓珂璟 https://blog.csdn.net/Deft_MKJing/article/details/79460485 平时喜欢写东西,看博客,一直对编码有些懵,今天下午也不知道看到了什么,突然想了解下,就找到了这个文章,看完真的豁然开朗,这个必须留下来做纪念。 1.ASCII 我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为 ASCII 码,一直沿用至今。 ASCII 码一共规定了128个字符的编码,比如空格SPACE是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。 2.非ASCII编码 英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号

UTF-8 BOM和UTF-8的区别

守給你的承諾、 提交于 2020-04-05 16:57:35
今天导入Java程序时候遇到了一些问题,查了查发现是编码的问题,在Notepad编码中把UTF-8 BOM改成UTF-8再重新编译一遍,就可以用了。 但是为啥呢,正好研究一下 BOM——Byte Order Mark,就是字节序标记 概念: 在UCS 编码中有一个叫做”ZERO WIDTH NO-BREAK SPACE“的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应该出现在实际传输中。 UCS规范建议我们在传输字节流前,先传输 字符”ZERO WIDTH NO-BREAK SPACE“。 如果接收者收到FEFF,就表明这个字节流是大字节序的;如果收到FFFE,就表明这个字节流是小字节序的。因此字符”ZERO WIDTH NO-BREAK SPACE“又被称作BOM。 作用 UTF-8不需要BOM来表明字节顺序,但可以用BOM来表明编码方式。字符” ZERO WIDTH NO-BREAK SPACE “的 UTF-8编码 是 EF BB BF 。所以如果接收者收到以 EF BB BF 开头的字节流,就知道这是 UTF-8编码 了。 所以 新建的空文件会有3字节的大小。 来源: oschina 链接: https://my.oschina.net/u/2615680/blog/3219466

【hdoj_2100】Lovekey(大数+字符处理)

守給你的承諾、 提交于 2020-04-04 22:32:56
题目: http://acm.hdu.edu.cn/showproblem.php?pid=2100 根据题目意思,现将字符串转化为10进制,再采用10进制加法相加,再转化为26进制. 另一种直接的思路是:采用26进制,模拟加法过程. 思路:用字符串存储两个26进制的数,然后在前面补A(相当于十进制中的0),使两个数对齐,以便进行加法进位.对齐之后,采用26进制,进行加法运算,运算得到的数字,再转化为对应的字符,即可. C++代码如下: #include<iostream> #include<string> #include<string.h> using namespace std; int main() { string s1,s2; int i,j; while(cin >> s1 >> s2) { int len_1 = s1.length(); int len_2 = s2.length(); if(len_1<len_2) { s1.swap(s2); int temp = len_1; len_1 = len_2; len_2 = temp; } s1 = 'A' + s1; for(i=len_2;i<=len_1;i++) s2 = 'A'+ s2; //至此,s1和s2已经对齐了,并且前面至少都有一个A,用于进位 int len = s1.length();

javascript中的数据类型转换

别说谁变了你拦得住时间么 提交于 2020-04-04 21:48:31
JavaScript中的数据类型有: 1、数组 2、字符串 3、布尔 4、函数 5、对象(【】,{},null)、undefined; JS 数据类型转换 方法主要有三种: 转换函数、强制类型转换、利用js变量弱类型转换。 1. 转换函数: js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。 在判断字符串是否是数字值前,parseInt()和parseFloat()都会仔细分析该字符串。parseInt()方法首先查看位置0处的 字符,判断它是否是个有效数字;如果不是,该方法将返回NaN,不再继续执行其他操作。但如果该字符是有效数字,该方法将查看位置1处的字符,进行同样的 测试。这一过程将持续到发现非有效数字的字符为止,此时parseInt()将把该字符之前的字符串转换成数字。 2. 强制类型转换 还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。 ECMAScript中可用的3种强制类型转换如下: Boolean(value)——把给定的值转换成Boolean型; Number(value)——把给定的值转换成数字(可以是整数或浮点数

linux vm编辑器操作

老子叫甜甜 提交于 2020-04-04 20:22:46
一、VIM编辑器介绍: 文本编辑器: 文本:纯文本。ASCII text:unicode; 文本编辑种类: 行编辑器:sed 全屏编辑器:nano,vi vi:visual Interface vim:VI Imptroved vim: 模式化的编辑器 基本模式: 编辑模式,命令模式 输入模式 末行模式: 内置的命令行接口: 二、打开文件: #vim[options][file..] +#:打开文件后,直接让光标处于第#行的行首; +/PATTERN:打开文件后,直接让光标处于第一个被PATTERN匹配的行的行首 三、模式转换: 编辑模式:默认模 (1)编辑模式-->输出模式: i:insert,在光标所在处输入 a:append,在光标所在处后方输入 o:在光标所在处下方打开一个新行 I:在光标所在行的行首输入 A:在光标所在行的行尾输入 O:在光标所在处的上方打开一个新行 (2) 输入模式--->编辑模式 ESC (3)编辑模式--->末行模式 :set nu 显示行号 :#,#d 删除行号,例如:5,10d 删除5,10行 :#,#u 撤销删除行,例如:5,10u撤销删除 5,10行(4)末行模式-->编辑模式 esc 四、关闭文件 zz:保存并退出 :q 退出 :q!强制退出,不保存此前的编辑操作 :wq 保存并退出 :w , :q :x 保存并退出 :w /PATH/TO

c语言中%s和%c的区别

[亡魂溺海] 提交于 2020-04-04 13:50:16
一.%s格式用于打印字符串,与之对应的参数应该是一个字符指针,待输出的字符始于该指针所指向的地址,直到出现一个空字符('\0')才终止。 %s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。 %ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串长小于m,则左补空格。 %-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。 %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。 %-m.ns:其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则自动取n值,即保证n个字符正常输出。 二.%c格式用于打印单个字符:例如: printf("%c",c); 等价于 putchar(c); 转载于: https://www.cnblogs.com/liuming1115/p/4426282.html 来源: https://www.cnblogs.com/yejiaxing-01/p/12631163.html