一、I/O操作(中文问题)
一、编码概念
计算机存放数据只能存放数字,所有的字符都会被转换为不同的数字。
常见的编码有:ISO-8859-1 ASCII数字和西欧字母
GBK:简体中文和繁体,以及日文
GB2312:简体中文
BIG5:繁体中文
UNICODE(统一码,万国码):包含了所有的文字,无论是中文,英文,藏文,发文,世界所有的文字都包含在其中。
因为不同的编码方式对应不同的存储长度。由于UNICODE要存放所有的数据,那么他需要存储空间最大的。不仅如此,每个数字都是很长的(占用4个字节),因为不仅表示字母,还要表示汉字
如果完全按照UNICODE的方式来存储数据,就会有很大的浪费。
比如在ISO-8859-1中,a字符对应的数据是0x61,而在UNICODE中对应的数字时0x00000061.加入一篇文章还有很多英文字母,那么如果按照UNICODE的方式进行数据保存就会消耗很多控件。
这种情况下,就出现了UNICODE各种减肥的子编码,UTF-8,UTF-16,UTF-32,一般常用UTF-8
一、I/O操作(中文问题)的更多相关文章
- lua 操作中文字符串之截取和长度竖排显示
前言 在游戏中,我们经常会遇到汉字的多行显示,比如名字竖行显示等.如下图: 为了实现上面的效果,lua实现分行是通过 \n 实现的,所以我们需要取出汉字,然后插入 \n 实现分行效果.还有一种就是 ...
- DOS命令行操作MySQL数据库中文乱码问题解决
我们在 dos 命令行操作中文时,会报错 ’); ERROR (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 原因:因为 ...
- Qt5:Qt文件操作类 QFile
在QT中,操作文件一般不使用C++提供的文件操作类 , 因为操作文件的时候,要用到C++提供的 string 类,而在QT中使用的是Qt自己实现的一个string类 QString .在Qt中使用C+ ...
- 基于【字节】操作的IO接口:InputStream、OutputStream
InputStream 参考链接:对java中FileInputStream.BufferInputStream的理解 /** * Author:Mr.X * Date:2017/10/9 17:11 ...
- oracle数据库之操作总结
## 连接数据库: sqlplus test/test##@localhost:/ORCL ## 查询数据库所有的表: select table_name from user_tables; ## 查 ...
- 解决 SSH 不能输入中文的问题
有些应用的进程名称可能是中文,还有一些应用创建的目录可以也会是中文,在 SSH 上使用 debugserver 没有办法输入中文的进程名称,也没办法在 SSH 上操作中文的目录,网上试了一些方法,不过 ...
- mysq查询语句包含中文以及中文乱码,字符集 GBK、GB2312、UTF8的区别
一.查看mysql 字符集设置情况 使用Navicat for Mysql查看工具,打开命令列界面,输入show variables like '%char%';如下图,查看当前mysql字符集设置情 ...
- Ubuntu 16.10 中文环境 Shell输出英文提示
/********************************************************************************** * Ubuntu 16.10 中 ...
- jsp中文乱码六种情况---解决方案
转 jsp中文乱码六种情况---解决方案 2016年10月22日 21:32:55 阅读数:10672 来源:http://blog.csdn.net/lovesummerforever/articl ...
- java之中文乱码处理
有些时候,比如文件操作的时候,特别是文件中有中文,会规定用GBK格式,这时读写文件,可能会出现中文乱码 资源文件乱码 文件内容乱码 资源文件乱码: 解决: PropertiesUtil proper ...
随机推荐
- Python中的垃圾回收机制
Python的垃圾回收机制 引子: 我们定义变量会申请内存空间来存放变量的值,而内存的容量是有限的,当一个变量值没有用了(简称垃圾)就应该将其占用的内存给回收掉,而变量名是访问到变量值的唯一方式,所以 ...
- sticky-footer的三种解决方案
在网页设计中,Sticky footers设计是最古老和最常见的效果之一,大多数人都曾经经历过.它可以概括如下:如果页面内容不够长的时候,页脚块粘贴在视窗底部:如果内容足够长时,页脚块会被内容向下推送 ...
- P1547 Out of Hay
传送门 练习 只是一个最小生成树的水题,拿来练练模板 AC代码: #include<iostream> #include<cstdio> #include<alg ...
- /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
yum -y install gcc gcc-c++ perl make kernel-headers kernel-devel 可能会提示:Cannot find a valid baseurl f ...
- 四: 使用vue搭建网站前端页面
---恢复内容开始--- 在搭建路由项目的时候的基本步骤 一:创建项目 安装好vue 搭好环境 (步骤在上篇博客中) 进入项目目录 cd 目录路径/ 目录名 创建项目 ...
- Jtest的简单使用
Jtest主要用于快速测试自己的代码是否正确 条件,导入相应的Jtest包 @Test public void test() { System.out.println(" ...
- [转][JSBSim]JSBSim的使用--飞行控制组件及其配置
http://www.jianshu.com/p/b5e9f1f5df95 飞行控制率.稳定增强系统.自动驾驶仪和其他飞控系统(航电.电气等)都能够在 JSBSim 中以独立的控制组件进行建模.JSB ...
- typeScript入门基础 (1)
1.ts是js的超集,可使用es5,es6的代码 2. ts的安装与编译: a. 首先需要Node.js环境 . 相信都有,略过. 不会的请百度,或者留言. b. npm install - ...
- (转)Windows上搭建Kafka运行环境
转自:<Windows上搭建Kafka运行环境> 完整解决方案请参考: Setting Up and Running Apache Kafka on Windows OS 在环境搭建过 ...
- spring aop通过注解实现日志记录
首先是几个概念:连接点(Joinpoint).切点(Pointcut).增强(Advice).切面(Aspect) 另外也要使用到注解. 需求:通过注解定义LogEnable.然后程序运行能够识别定义 ...