cvs*_*ave 14 null powershell-2.0
使用PowerShell 2.0:
write-output "abcd" >> mytext.txt
Run Code Online (Sandbox Code Playgroud)
收益:
n n b nul c nul d nul
od -c将nul显示为真正的二进制零\0,或:( a \0 b \0 c \0 d \0和\r \0 \n \0).
我试图生成一些SQL,所以我不认为这样做.有关正在发生什么的想法以及如何使用write-output来获取指定的字符?
dri*_*iis 20
这是因为写入输出默认为UTF-16文本编码,即每个字符2个字节.当您处理适合ASCII代码页范围的文本时,每个字符的第二个字节将为零.
这由$OutputEncoding全局变量控制,因此您可以将其设置为ASCII.
另一个选项是使用cmdlet Out-File,它具有显式编码参数.我建议你使用它而不是输出重定向,因为这样可以避免全局更改环境(通过设置全局首选项变量$OutputEncoding)
使用Out-File,并将编码设置为ASCII,您的示例如下所示:
"abcd" | out-file "mytext.txt" -Encoding ASCII
Run Code Online (Sandbox Code Playgroud)
请注意,并非所有字符都可以用ASCII表示,您应该确定这是否适合您的目的编码.我个人通常会选择UTF-8,因为当字符落在0-127的ASCII范围内时,它是ASCII等效的,但也处理国际字符.关于文本编码的强制性链接.