在Powershell中编码为Ascii时的斯堪的纳维亚字符

时间:2014-03-13 11:33:33

标签: powershell encoding ascii

1 个答案:

答案 0 :(得分:3)

好像你的要求相互矛盾。

  1. 以ASCII编码保存文本
  2. 将字符保存在ASCII字符范围之外
  3. ASCII编码支持您提到的字符,这就是它们无法按预期工作的原因。 MSDN documentation on ASCII Encoding states that

      

    ASCII字符限制为最低128个Unicode字符,从U + 0000到U + 007F。

    还有那个

      

    如果您的应用程序需要8位编码(有时错误地称为" ASCII"),建议使用UTF-8编码而不是ASCII编码。对于字符0-7F,结果是相同的,但使用UTF-8可以通过允许表示可表示的所有Unicode字符来避免数据丢失。请注意,ASCII编码具有第8位模糊性,允许恶意使用,但UTF-8编码消除了第8位的模糊性。

    您可以在the Wikipedia page regarding ASCII Encoding上阅读有关ASCII编码的更多信息(此页面还包括显示所有可能的ASCII字符和控制代码的表格)。

    您需要使用不同的编码(例如UTF-8)或接受您不能使用超出ASCII范围的字符。