关于linux下汉字输出的小问题
来源:互联网 发布:带虚化的拍照软件 编辑:程序博客网 时间:2024/06/14 20:08
windows下的文档在linux下查看,汉字会出现乱码的原因?
linux下汉字用utf-8编码,而windows下采用gb2312编码。
所以为了可以正常查看,可用命令将gb2312转化为utf-8。
如何转化?
可以用shell下编码转换工具enca。用它不仅可以转换编码,还可以查看文件的原始编码,而且还支持成批转换。安装enca很简单,一般用源安装就行了,enca用法如下:
enca -L 当前语言 文件名
enca -L zh_CN file //检查文件的编码
enca -L 当前语言 -x 目标编码 文件名
enca -L zh_CN -x UTF-8 file //将文件编码转换为”UTF-8″编码
enca -L zh_CN -x UTF-8 < file1 > file2 //如果不想覆盖原文件可以这样
除了有检查文件编码的功能以外,”enca”还有一个好处就是如果文件本来就是你要转换的那种编码,它不会报错,还是会print出结果来。
关于utf-8的问题?
常用中文字符用utf-8编码占用3个字节(大约2万多字),但超大字符集中的更大多数汉字要占4个字节(在unicode编码体系中,U+20000开始有5万多汉字)。
GBK、GB2312收编的汉字占2个字节,严格地用iso8859-1无法表示汉字,只能转为问号。
遇到的一个小问题
本应该对齐输出的,可是怎么会有这样的结果呢?
在linux下采用的是utf-8编码,一般的汉字占用三个字节。
ID 姓名 性别 民族 成绩 ID Name sex minzu grade 1 li man han 90
姓名连同后面的空格本应该占用11个字节,姓名占用6个字节,后面有五个空格,所以符合源代码的思想。这里由于linux下输出的问题,导致无法对齐,在linux下尽量不要将字母与汉字一起使用。(输出的结果为一个汉字在屏幕上不到两个字符,而在windows中采用gb2312编码,一个汉字只有两个字节,相当于2个字符,输出的格式就不会出现这种情况了)
- 关于linux下汉字输出的小问题
- 关于qt下输出汉字出现乱码的解决办法
- 关于各种编码问题,汉字处理的一点小总结
- 汉字输出乱码的问题
- 关于python 2.7要求输出汉字问题
- 小问题:linux下printf中标准输出显示问题
- 关于VS2005下中文输出的问题
- linux 下对汉字删除需要delete两次的问题
- 关于汉字描红的问题。
- 关于在linux操作系统下打不出汉字或者在敲打汉字时无法显示拼音的问题
- Linux 下何时输出缓冲区的问题
- 关于Linux下feof()输出文件最后一行时重复的问题
- 关于自增、输出流、指针的一些小问题
- 解决js输出汉字乱码的问题
- 关于几个linux的小问题
- 关于Linux 下 使用JAVA出现中文小框框的问题
- linux系统下 fork()系统调用: 关于父子进程缓存问题的小坑
- linux下使用mysql的小问题
- SQLServer 怎样开启 SQLServer身份验证
- java测程序运行时间
- Centos7 源码安装msyql5.7
- Spring4.3学习记录之HelloWorld(一)
- Shiro权限认证
- 关于linux下汉字输出的小问题
- hadoop常用命令介绍
- 网络视频编程
- 廖雪峰python之list和tuple
- SPI通信协议学习总结
- PAT--1055. The World's Richest
- 【python】pycharm中文字符的问题
- OpenCv基础(四):Trackbar(轨迹条)的创建和使用
- Java构建高并发高可用的电商平台架构实践