首页 > 其他 > 详细

Dir /U /c 输出Unicode字符的特性

时间:2015-11-22 16:04:32      阅读:259      评论:0      收藏:0      [点我收藏+]

比如某个目录列表如下:

D:\Spec\a.txt
D:\Spec\Dir?C.txt
D:\Spec\else.txt
D:\Spec\??????.data
D:\Spec\中?文.txt

直接dir /s /b显示:

技术分享

在终端右键-标记,选中所有这些字符,粘贴到记事本,会发现空白的部分又变成了原文。得到了完整的保留。

实际上这个复制粘贴的过程,应该是用的unicode传递

如果是 dir /s /b>a.txt 则造成Unicode字符部分丢失:

D:\Spec\a.txt
D:\Spec\Dir?C.txt
D:\Spec\else.txt
D:\Spec\test.pl
D:\Spec\??????.data
D:\Spec\中?文.txt

此时开启cmd 的 /U 选项可以解决问题

>cmd /U

>Dir /s /b D:\Spec >a.txt

 

总结:

Windows CMD终端输出到屏幕上的信息是可以包含Unicode字符信息的,只是不显示。

在重定向 > 输出到文本的时候,默认会转换到GBK,打开CMD /U选项则以UNICODE值直接输出。

 

但是当我直接使用wprintf输出unicode字符到终端的时候,为什么达不到同样的效果呢?

 

Dir /U /c 输出Unicode字符的特性

原文:http://www.cnblogs.com/paktc/p/4985899.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!