编码转换

RESTful设计规范

心不动则不痛 提交于 2020-04-05 15:10:27
一、 摘要(Abstract) RESTful API 已经非常成熟,也得到了大家的认可。我们按照 Richardson Maturity Model 对 REST 评价的模型,规范基于 level2 来设计 二、版本(Versioning) API的版本号放入URL。例如: https: // api.jiuyescm.com /v1/ https: // api.jiuyescm.com /v1.2/ 三、资源、路径(Endpoint) 路径,API的具体地址。在REST中,每个地址都代表一个具体的资源( Resource )约定如下: 路径仅表示资源的路径(位置),尽量不要有actions操作(一些特殊的 actions 操作除外) 路径以 复数(名词) 进行命名资源,不管返回单个或者多个资源。 使用 小写字母、数字以及下划线(“_”) 。(下划线是为了区分多个单词,如user_name) 资源的路径从父到子依次如: /{resource}/ {resource_id} /{sub_resource}/ {sub_resource_id}/{sub_resource_property} 使用 ? 来进行资源的过滤、搜索以及分页等 使用版本号,且版本号在资源路径之前 优先使用内容协商来区分表述格式,而不是使用后缀来区分表述格式 应该放在一个专用的域名下,如: http:/

vim 字符编码

*爱你&永不变心* 提交于 2020-04-04 07:25:49
一般的,vim打开中文文件时会出现乱码,原因比较复杂,不罗嗦了。直接讲解决办法 set fileencoding=gb18030 set fileencodings=utf-8,gb18030,utf-16,big5 想看这样设置的原因吗?请继续。下文在网络中广泛流传 vim里面的编码主要跟三个参数有关:enc(encoding), fenc(fileencoding)和fencs(fileencodings) 其中fenc是当前文件的编码,也就是说,一个在vim里面已经正确显示了的文件(前提是你的系统环境跟你的enc设置匹配),你可以通过改变 fenc后再w来将此文件存成不同的编码。比如说,我:set fenc=utf-8然后:w就把文件存成utf-8的了,:set fenc=gb18030再:w就把文件存成gb18030的了。这个值对于打开文件的时候是否能够正确地解码没有任何关系。 fencs就是用来在打开文件的时候进行解码的猜测列表。文件编码没有百分百正确的判断方法,所以vim只能猜测文件编码。比如我的vimrc里面这个的设置是 set fileencodings=utf-8,gb18030,utf-16,big5 所以我的vim每打开一个文件,先尝试用utf-8进行解码,如果用utf-8解码到了一半出错(所谓出错的意思是某个地方无法用utf-8正确地 解码)

字符编码格式小结(ASCII/Unicode/UTF-8)

别等时光非礼了梦想. 提交于 2020-04-04 06:47:37
1. ASCII码 我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从0000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码,一直沿用至今。 ASCII码一共规定了128个字符的编码,比如空格“SPACE”是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的1位统一规定为0。 2、非ASCII编码 英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。比如,在法语中,字母上方有注音符号,它就无法用ASCII码表示。于是,一些欧洲国家就决定,利用字节中闲置的最高位编入新的符号。比如,法语中的é的编码为130(二进制10000010)。这样一来,这些欧洲国家使用的编码体系,可以表示最多256个符号。 但是,这里又出现了新的问题。不同的国家有不同的字母,因此,哪怕它们都使用256个符号的编码方式,代表的字母却不一样。比如

linux文件转换成utf-8格式

独自空忆成欢 提交于 2020-04-04 06:46:01
查看文件编码 在vim 中可以直接查看文件编码 输入命令 :set fileencoding 即可显示文件编码格式。 文件编码转换 在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式 输入命令 :set fileencoding=utf-8 来源: https://www.cnblogs.com/wuyuanguo/p/11171689.html

Linux下文件名编码转换

家住魔仙堡 提交于 2020-04-04 06:37:47
因为现在用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,例如从Windows向Linux上传字体时,遇到下面的乱码: 找到个可以转换文件名编码的命令,就是convmv。 convmv命令详细参数 例如: convmv -f GBK -t UTF-8 *.mp3 不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数 --notest convmv -f GBK -t UTF-8 --notest *.mp3 -f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是 -r 这个表示递归转换当前目录下的所有子目录。 来源: https://www.cnblogs.com/whist/p/8823767.html

Linux下文件名编码转换

烈酒焚心 提交于 2020-04-04 06:36:51
因为现在用linux,原来在windows里的文件都是用GBK编码的。所以copy到linux下是乱码,例如从Windows向Linux上传字体时,遇到下面的乱码: 找到个可以转换文件名编码的命令,就是convmv。 convmv命令详细参数 例如: convmv -f GBK -t UTF-8 *.mp3 不过这个命令不会直正的转换,你可以看到转换前后的对比。如果要直正的转换要加上参数 --notest convmv -f GBK -t UTF-8 --notest *.mp3 -f 参数是指出转换前的编码,-t 是转换后的编码。这个千万不要弄错了。不然可能还是乱码哦。还有一个参数很有用。就是 -r 这个表示递归转换当前目录下的所有子目录。 convmv -f GBK -t UTF-8 -r --nosmart --notest <目标目录> -f from -t to --nosmart 如果已经是utf-8 忽略 -r 包含所有子目录 --notest 不加表示只列出有什么需要转换的,不做实际转换 来源: https://www.cnblogs.com/c2013/p/10277565.html

Linux文件名编码转换

独自空忆成欢 提交于 2020-04-04 06:36:19
从Linux往 windows拷贝文件或者从windows往Linux拷贝文件,有时会出现中文文件名乱码的情况,出现这种问题的原因是因为,windows的文件名 中文编码默认为GBK,而Linux中默认文件名编码为UTF8,由于编码不一致,所以导致了文件名乱码的问题,解决这个问题需要对文件名进行转码。 在Linux中专门提供了一种工具进行文件名编码的转换,可以将文件名从GBK转换成UTF-8编码,或者从UTF-8转换到GBK。 服务器是centos,安装 convmv:yum -y install convmv。 下面看一下convmv的具体用法: convmv -f 源编码 -t 新编码 [选项] 文件名 常用参数: -r 递归处理子文件夹 -r 递归处理子文件夹 --notest 真正进行操作,请注意在默认情况下是不对文件进行真实操作的,而只是试验。 --list 显示所有支持的编码 --unescap 可以做一下转义,比如把%20变成空格 比如我们有一个utf8编码的文件名,转换成GBK编码,命令如下: convmv -f UTF-8 -t GBK --notest utf8编码的文件名 这样转换以后”utf8编码的文件名”会被转换成GBK编码(只是文件名编码的转换,文件内容不会发生变化) 下面的例子,将当前文件夹下的所有文件

unicode

纵然是瞬间 提交于 2020-04-04 04:48:23
Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符。 编码从0到127的字符与ASCII编码的字符一样,比如字母"a"的Unicode 编码是0x0061,十进制是97,而"a"的ASCII编码是0x61,十进制也是97, 对于汉字的编码,事实上Unicode对汉字支持不怎么好,这也是没办法的, 简体和繁体总共有六七万个汉字,而UCS-2最多能表示65536个,才六万 多个,所以Unicode只能排除一些几乎不用的汉字,好在常用的简体汉字 也不过七千多个,为了能表示所有汉字,Unicode也有UCS-4规范,就是用 4个字节来编码字符 中文名 Unicode码 外文名 Unicode 文 字 中、日、韩 字 符 UCS-2 分 类 计算机科学 目录 1 定义 2 方法 定义 编辑 Unicode码扩展自ASCII 字元集 。在严格的ASCII中,每个字元用7位元表示

运算符和编码

最后都变了- 提交于 2020-04-04 01:52:28
一、循环   while 条件:     代码块(循环体)   else:     当上面的条件为假   while 条件:       结果   执行顺序:判断条件是否为真,如果条件是真, 则直接执行结果. 然后再次判断条件. 直到条件是假. 停止循环 二、break和continue   break:停止当前本层循环   continue:停止当前本次循环,继续执行下一次循环 三、格式化输出   %s 占位字符串 全能的,什么都能接 例:a=10   print(“%s岁” % (a))   %d 占位数字     如果你的字符串中出现了%s这样的格式化内容,后面的%都认为是格式化,如果想用%,需要转义%% int(str) # 字符串转换成int str(int) # int转换成字符串 四、运算符   **:幂,x的y次幂   %:取余   //:取整   and:并且,两端同时为真,结果才能是真。   or:或者,有一个是真,结果就是真   not:非真即假,非假即真   顺序:()=> not => and =>or 相同运算从左到右   ==等于   !=不等于   a+=b -----> a=a+b   x or y:     如果x为0,输出y     如果x非0,输出x   and与or的运算规则相反   True相当于非零   False相当于0 五、编码  

python实用库

安稳与你 提交于 2020-04-03 11:48:06
参考: https://github.com/programthink/opensource/blob/master/libs/python.wiki#35_ Python 开源库及示例代码 Table of Contents 说明 1 算法 1.1 字符串 1.1.1 正则表达式 1.1.2 字符集 1.1.3 (其它) 1.2 编码 & 解码 1.2.1 base64 1.2.2 UUencode 1.2.3 BinHex 1.3 数学类 1.4 容器 2 跨语言编程 2.1 整合 C & C++ 2.2 整合 JVM 平台 2.3 整合 dotNet 平台 2.4 整合 Go 2.5 整合 Objective-C 3 操作系统 3.1 文件和目录操作 3.2 线程 3.3 进程 3.4 本地进程间通信(IPC) 3.5 操作硬件 3.6 获取系统信息 3.7 Linux & Unix 系统相关 3.8 Windows 系统相关 3.9 程序打包 4 Web 4.1 HTTP Client 4.2 HTTP Server 4.3 Web 开发框架 4.4 Web前端 & JS整合 4.5 浏览器整合 4.6 WebSocket 4.7 (其它) 5 网络 5.1 链路层 & 网络层 5.2 传输层 5.3 标准的应用层 5.3.1 综合性的库 5.3.2 HTTP 5.3.3