终端vim都支持中文 但使用十六进制输出到终端就乱码

系统字体配置、中文显示和输入法问题
回复
fansmit
帖子: 5
注册时间: 2015-09-13 19:14
系统: ubuntu 12.04

终端vim都支持中文 但使用十六进制输出到终端就乱码

#1

帖子 fansmit » 2015-09-13 19:47

请教大家下
我的ubuntu 终端和vim都可以正常显示中文 编码是utf8
但用c语言 将两个十六进制复制给数组 然后用printf以字符串格式输出这个数组后
结果在终端就是乱码 但重定向到文件 文件里就是正常的一个汉字
如果代码里直接printf中文他也能正常显示

请问这是什么情况
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 终端vim都支持中文 但使用十六进制输出到终端就乱码

#2

帖子 自由建客 » 2015-09-13 22:27

reset 恢复终端
fansmit
帖子: 5
注册时间: 2015-09-13 19:14
系统: ubuntu 12.04

Re: 终端vim都支持中文 但使用十六进制输出到终端就乱码

#3

帖子 fansmit » 2015-09-14 9:19

自由建客 写了:reset 恢复终端
不行。。。。
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 终端vim都支持中文 但使用十六进制输出到终端就乱码

#4

帖子 自由建客 » 2015-09-14 10:09

把你那 C 源碼發上來
fansmit
帖子: 5
注册时间: 2015-09-13 19:14
系统: ubuntu 12.04

Re: 终端vim都支持中文 但使用十六进制输出到终端就乱码

#5

帖子 fansmit » 2015-09-14 10:30

自由建客 写了:把你那 C 源碼發上來

代码: 全选

#include <stdio.h>

int main(int argc, const char *argv[])
{
	char s[] = {0xca, 0xd3, 0};

	printf("%s\n", s);

	return 0;
}
就是简单的这么几句 重定向到文件中是个 “视” 字 但是cat 重定向的这个文件 或者 运行这段代码 终端输出就是乱码 用vim开就正常
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 终端vim都支持中文 但使用十六进制输出到终端就乱码

#6

帖子 自由建客 » 2015-09-14 11:20

这个字是 GB2312 编码,输出到 UTF-8 终端,能不乱吗!
编辑器能正常显示是因为认出了编码并自动做了处理。
fansmit
帖子: 5
注册时间: 2015-09-13 19:14
系统: ubuntu 12.04

Re: 终端vim都支持中文 但使用十六进制输出到终端就乱码

#7

帖子 fansmit » 2015-09-14 14:48

自由建客 写了:这个字是 GB2312 编码,输出到 UTF-8 终端,能不乱吗!
编辑器能正常显示是因为认出了编码并自动做了处理。
谢谢你的帮助 问题终于解决了!
我第一次接触编码这东西 真不太了解这方面知识 请问关于编码的问题我需要看那些资料啊
头像
自由建客
帖子: 13468
注册时间: 2008-07-30 23:21
系统: Debian stable AMD64

Re: 终端vim都支持中文 但使用十六进制输出到终端就乱码

#8

帖子 自由建客 » 2015-09-14 21:45

fansmit 写了:请问关于编码的问题我需要看那些资料啊
未知
fansmit
帖子: 5
注册时间: 2015-09-13 19:14
系统: ubuntu 12.04

Re: 终端vim都支持中文 但使用十六进制输出到终端就乱码

#9

帖子 fansmit » 2015-09-15 21:24

自由建客 写了:
fansmit 写了:请问关于编码的问题我需要看那些资料啊
未知
哦 好吧 看来有好多需要探索啊 谢谢啦
回复