我在互联网上四处寻找,找不到相关信息。我的程序需要将一些 PowerShell 代码写入 PowerShell 配置文件。如果不存在配置文件,我的程序将创建一个。问题是应该使用什么编码来创建PowerShell配置文件。我应该使用 UTF8 吗?还是带有 BOM 的 UTF8?
从技术上讲,PowerShell配置文件使用以下编码(来自我自己的配置文件,5.1(。
BodyName : iso-8859-1
EncodingName : Western European (Windows)
HeaderName : Windows-1252
WebName : Windows-1252
而带有 UTF-8 的文件如下所示。
BodyName : utf-8
EncodingName : Unicode (UTF-8)
HeaderName : utf-8
WebName : utf-8
ASCII、ISO-8859-1 和 UTF-8 之间的区别:
ASCII: 7 bits. 128 code points.
ISO-8859-1: 8 bits. 256 code points.
UTF-8: 8-32 bits. 1,112,064 code points.
这在UTF-8 和 ISO-8859-1 之间的区别是什么?
您可以使用以下命令检查文件的编码。
$reader = [System.IO.StreamReader]::new("File path", [System.Text.Encoding]::default,$true)
$peek = $reader.Peek()
$reader.currentencoding
$reader.close()
其他可行的编码选项。
utf8: UTF-8 without BOM
utf8bom: UTF-8 with BOM
utf16le: Little endian UTF-16
utf16be: Big endian UTF-16
windows1252: Windows-1252