unicode

Remove invalid UTF-8 characters from a string

我只是一个虾纸丫 提交于 2020-01-29 00:53:06
问题 I get this on json.Marshal of a list of strings: json: invalid UTF-8 in string: "...ole\xc5\" The reason is obvious, but how can I delete/replace such strings in Go? I've been reading docst on unicode and unicode/utf8 packages and there seems no obvious/quick way to do it. In Python for example you have methods for it where the invalid characters can be deleted, replaced by a specified character or strict setting which raises exception on invalid chars. How can I do equivalent thing in Go?

Python2和3字符编码的区别

戏子无情 提交于 2020-01-28 17:46:58
Python2和3字符编码的区别 一、字符编码应用之Python 1.1 执行Python程序的三个阶段 Python test.py (再强调一遍,执行test.py的第一步,一定是先将文件内容从硬盘读入到内存中) test.py文件内容以gbk格式保存的,内容为: [ 阶段一:启动Python解释器 阶段二:Python解释器此时就是一个文本编辑器,负责打开文件test.py,即从硬盘中读取test.py的内容到内存中 此时,Python解释器会读取test.py的第一行内容, #coding:utf-8 或 #-*-coding:utf-8-*- ,以此决定以什么编码格式将代码读入内存,这一行就是设定Python解释器这个软件使用的编码格式。 可以用sys.getdefaultencoding()查看,如果不在Python文件指定头信息 #-*-coding:utf-8-*- ,那就使用Python默认的编码格式。 import sys sys.getdefaultencoding() Copy'utf-8' Python2中默认使用ascii,Python3中默认使用utf-8。 改正:在test.py指定文件头,字符编码一定要为gbk。即更正为 #coding:gbk 你好啊 阶段三:读取已经加载到内存的代码(Unicode编码格式),然后执行

关于ASCII,Unicode和UTF-8

孤街浪徒 提交于 2020-01-28 17:13:46
自己也不是很明白这些编码,百度了一下,整理出来与大家分享分享,在此感谢作者。 先说说这些编码 ANSI:最早的时候计算机ASCII码只能表示256个符号(含控制符号),这个字符集表示英文字母足够,其中,我们键盘上可见的符号的编码范围是从32到126(大小写英文字母、数字、英文符号等)。但表示汉字、日语、韩语就不太够用了,汉字常用字有3000多个。 但是中国人也要用电脑打字,于是,中国人就研究出来了最早的中文字符集GB2312(GBK就是后来的扩展),GB2312的做法是,把ASC码取值范围的128~255这个区间挪用了一下,用两个ASC码表示一个汉字,这样可用的编码范围用十六进制表示就是0x8080到0xFFFF,这大概能表示一万多个符号,足够了。[注:实际没用那么多,GBK的范围是8140-FEFE] 那个时候,计算机技术还不发达,各个国家搞自己的,比如台湾,也另搞了一套,叫BIG5(俗称:大五码),跟大陆的也不太一样,但方法是类似的,都是用0x80到0xFF这个区间。 然后日语(有编码JIS)、韩语等等也各搞一套。 这些国家的编码区间都是重叠的,但同一个汉字(比如有一些汉字同时存在于简体、繁体、日语汉字中)有不同的编码,很混乱是不是?但也凑合用了。编码不同导致了很多麻烦,比如一个网页,如果你不知道它是什么编码的,那么你可能很难确定它显示的是什么,一个字符可能是大陆简体/台湾繁体

12.字符型变量和常量

一个人想着一个人 提交于 2020-01-28 12:32:23
字符型在内存中占2个字节,在Java中使用单引号来表示字符常量。例如’A’是一个字符,它与”A”是不同的,”A”表示含有一个字符的字符串。 char 类型用来表示在Unicode编码表中的字符。Unicode编码被设计用来处理各种语言的文字,它占2个字节,可允许有65536个字符。 Unicode具有从0到65535之间的编码,他们通常用从’\u0000’到’\uFFFF’之间的十六进制值来表示(前缀为u表示Unicode) 数组越界 来源: CSDN 作者: 云疏不知数 链接: https://blog.csdn.net/qq_43808700/article/details/104098363

文件处理

谁都会走 提交于 2020-01-28 03:30:39
Python处理文件 文件操作分为读、写、修改,我们先从读开始学习 读文件 文件内容 姓名 地区 身高 体重 联系方式 马纤羽 深圳 173 50 13744234523 乔亦菲 广州 172 52 15823423525 罗梦竹 北京 175 49 18623423421 刘诺涵 北京 170 48 18623423765 岳妮妮 深圳 177 54 18835324553 贺婉萱 深圳 174 52 18933434452 叶梓萱 上海 171 49 18042432324    示例1: f = open(file='D:/工作日常/兼职白领学生空姐模特护士联系方式.txt',mode='r',encoding='utf-8') data = f.read() f.close() 上述操作语法解释: file='D:/工作日常/兼职白领学生空姐模特护士联系方式.txt' 表示文件路径 mode='r' 表示只读(可以修改为其他) encoding='utf-8' 表示将硬盘上的 0101010 按照utf-8的规则去“断句”,再将“断句”后的每一段0101010转换成unicode的 01010101,unicode对照表中有01010101和字符的对应关系。 f.read() 表示读取所有内容,内容是已经转换完毕的字符串。 f.close() 表示关闭文件 PS:

ASCII non readable characters 28, 29 31

走远了吗. 提交于 2020-01-28 01:49:48
问题 I am processing a file which I need to split based on the separator. The following code shows the separators defined for the files I am processing private static final String component = Character.toString((char) 31); private static final String data = Character.toString((char) 29); private static final String segment = Character.toString((char) 28); Can someone please explain the significance of these specific separators? Looking at the ASCII codes, these separators are file, group and unit

mysql中utf8和utf8mb4区别

那年仲夏 提交于 2020-01-27 13:37:36
mysql中utf8和utf8mb4区别 一、总结 一句话总结: 要在 Mysql 中保存 4 字节长度的 UTF-8 字符,需要使用 utf8mb4 字符集,但只有 5.5.3 版本以后的才支持(查看版本: select version();) 1、utf8mb4是什么? 4字节unicode:mb4就是most bytes 4的意思,专门用来兼容四字节的unicode:好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。 2、既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 4字节异常:mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了 三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等。 3、Mysql 中的 utf8 为什么只支持最长三个字节的 UTF-8字符呢?

Why Java char uses UTF-16?

耗尽温柔 提交于 2020-01-27 08:21:18
问题 Recently I read lots of thing about unicode code points and how they evolved over time and sure I read http://www.joelonsoftware.com/articles/Unicode.html this also. But something I couldn't find the real reason why Java uses UTF-16 for a char. For example If I had the string which contains 1024 letter of ASCII scoped charachter string. It means 1024 * 2 bytes which equals to 2KB string memory it will consume in anyway. So if Java base char would be UTF-8 it would be just 1KB of data. Even if

mysql默认空列的弊端

冷暖自知 提交于 2020-01-27 05:42:24
java后台开发中,设计表时,经常设置字符串类型字段的默认值为null,殊不知字段默认值为null,有哪些性能或存储空间浪费等细微问题。数据量小时,问题不容易发现,但是数据量上亿,细微问题将影响我们的应用性能。 概括 null列在查询的时候容易照成误解 null列在使用count的时候必须要多注意,COUNT(bindTime)不计算null值。 null作为索引需要更多空间,让索引变得复杂 问题一 问题二 新建一个表 CREATE TABLE ` t_car ` ( ` carId ` BIGINT ( 20 ) NOT NULL , ` plateNumber ` VARCHAR ( 50 ) NOT NULL COMMENT '车牌号' , ` memberId ` BIGINT ( 20 ) NOT NULL DEFAULT '0' COMMENT '车主' , ` logoId ` TINYINT ( 6 ) DEFAULT NULL COMMENT '车标' , ` carColor ` TINYINT ( 4 ) DEFAULT NULL COMMENT '车辆颜色' , ` plateColor ` TINYINT ( 4 ) DEFAULT NULL COMMENT '车牌颜色' , ` carType ` TINYINT ( 4 ) NOT NULL

python

痴心易碎 提交于 2020-01-27 02:25:08
#查看数据类型 data="123" print(type(data) ) # 输出 :<class 'str'> #中文转bytes print("中".encode('unicode_escape')) # unicode编码 输出: b'\\u4e2d' 来源: CSDN 作者: scy123 链接: https://blog.csdn.net/u012593638/article/details/103806869