zoukankan      html  css  js  c++  java
  • Dir /U /c 输出Unicode字符的特性

    比如某个目录列表如下:

    D:Speca.txt
    D:SpecDir・C.txt
    D:Specelse.txt
    D:Specקתקווה.data
    D:Spec中・文.txt

    直接dir /s /b显示:

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

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

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

    D:Speca.txt
    D:SpecDir?C.txt
    D:Specelse.txt
    D:Spec est.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字符到终端的时候,为什么达不到同样的效果呢?

  • 相关阅读:
    [COGS2580]偏序 II
    [COGS2479]偏序
    [BZOJ2716]天使玩偶
    [BZOJ4237]稻草人/[JOISC2014]かかし
    Ynoi2015 世上最幸福的女孩
    ARC098D Donation
    BZOJ3691 游行
    CF923E Perpetual Subtraction
    Luogu P4191 [CTSC2010]性能优化
    Topcoder SRM 590 Fox And City
  • 原文地址:https://www.cnblogs.com/paktc/p/4985899.html
Copyright © 2011-2022 走看看