Log*_*Wlv 1 windows powershell cmd node.js
我正在使用一个小processconf.js工具configuration.json从多个.json文件构建一个文件.
这里是我使用的命令:
node processconf.js file1.json file2.json > configuration.json 
Run Code Online (Sandbox Code Playgroud)
我正在使用cmd片刻,但今天我尝试使用Powershell并以某种方式从相同的文件和相同的命令我有不同的结果.
一个文件是33kb(cmd)另一个66kb(powershell),查看文件他们有完全相同的行,我找不到任何视觉差异,为什么会这样?
PowerShell默认为UTF16LE,而cmd默认情况下不会对重定向执行Unicode(有时可能最终会破坏您的数据).
如果您不在PowerShell中使用重定向运算符,而是Out-File可以指定编码,例如
node processconf.js file1.json file2.json | Out-File -Encoding Utf8 configuration.json
Run Code Online (Sandbox Code Playgroud)
我认为-Encoding Oem与cmd行为有点相似,但通常不支持Unicode,并且涉及转换.
重定向操作符当然没有指定任何选项的规定,因此当您关心确切的输出格式时,它通常不是最佳选择.而且由于PowerShell与Unix shell相反,处理对象,文本和随机二进制数据是截然不同的事情.
顺便说一句,cmd如果你运行它,你会得到相同的行为cmd /u.
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           41 次  |  
        
|   最近记录:  |