当前位置:  开发笔记 > 开发工具 > 正文

用于将文件另存为unicode的脚本

如何解决《用于将文件另存为unicode的脚本》经验,为你挑选了1个好方法。

您是否知道我可以通过编程方式或通过scrirpt将一组以ansi字符编码保存的文本文件转换为unicode编码?

当我用记事本打开文件并选择将其保存为unicode文件时,我想做同样的事情.



1> guillermooo..:

这可能适合您,但请注意它将获取当前文件夹中的每个文件:

Get-ChildItem | Foreach-Object { $c = (Get-Content $_); `
Set-Content -Encoding UTF8 $c -Path ($_.name + "u") }

使用别名的简洁方法相同:

gci | %{ $c = (gc $_); sc -Encoding UTF8 $c -Path ($_.name + "u") }

Steven Murawski建议使用Out-File.两个cmdlet之间的差异如下:

Out-File 将尝试格式化它收到的输入.

Out-File默认编码是基于Unicode的,而Set-Content使用系统的默认编码.

这是一个例子,假设test.txt在任何一种情况下文件都不存在:

PS> [system.string] | Out-File test.txt
PS> Get-Content test.txt

IsPublic IsSerial Name                                     BaseType          
-------- -------- ----                                     --------          
True     True     String                                   System.Object     

# test.txt encoding is Unicode-based with BOM

PS> [system.string] | Set-Content test.txt
PS> Get-Content test.txt

System.String

# test.txt encoding is "ANSI" (Windows character set)

实际上,如果您不需要任何特定的Unicode编码,您还可以执行以下操作将文本文件转换为Unicode:

PS> Get-Content sourceASCII.txt > targetUnicode.txt

Out-File 是一种"可选参数的重定向运算符".

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有