Dir /U /c 输出Unicode字符的特性
2015-11-22 15:16
471 查看
比如某个目录列表如下:
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字符到终端的时候,为什么达不到同样的效果呢?
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字符到终端的时候,为什么达不到同样的效果呢?
相关文章推荐
- 关于java系统找不到指定文件的解决方案
- 第十二周项目二 (4)判断图G中是否存在边<i,j>
- 串的模式匹配-KMP算法
- coreAnimation核心动画(四)CAAnimationGroup
- JDBC--处理事务
- Hadoop-2.6.0学习笔记汇总
- HDU 4738 Caocao's Bridges(无向图求桥)
- delete 和 free
- hdoj 1257 最少拦截系统
- JavaScript调试的那些事
- JAVA 重定向与转发
- hashtable详解
- HDU 3183--A Magic Lamp 【RMQ】
- 驱动编译错误大全
- iOS菜狗养成路之石头剪刀布
- jboss服务启动时报Error creating bean with name'addressService': Injection of autowired dependencies faile
- Sql Server 实用函数方法汇总
- 递归算法
- 通过formdata ajax上传图片 以及后台接收formdata数据 mvc
- Google Protocol Buffers介绍