【问题标题】:Redirect content to a file in ascii encoding将内容重定向到 ascii 编码的文件
【发布时间】:2015-06-02 11:13:35
【问题描述】:

我们从 PowerShell 运行 lessc,如下所示:

lessc -x style.less > style.min.css

不幸的是,style.min.css 文件位于 unicode 中,而我们希望它位于 ascii 中。从 PowerShell 将结果写入文件时,我们如何强制使用该编码?

有趣的是,当我们从普通命令提示符运行相同的命令时,编码是ascii

【问题讨论】:

  • "Unicode" 不是编码。你得到什么编码?你收到 BOM 了吗?
  • 我正在获取 BOM。我也只是在阅读the about_redirection docs,它说:“当您写入文件时,重定向运算符使用 Unicode 编码。”所以,我接近解决方案了。
  • @SLaks 出于好奇,你说 Unicode 不是编码是什么意思?为什么不呢?
  • 字符编码是一种将 Unicode 代码点序列转换为字节的方案。 UTF8 和 UTF16 是编码。请参阅相关的维基百科文章。

标签: windows powershell cmd less windows-8.1


【解决方案1】:

作为一种简单的解决方法,将输出指定为command-line parameter,而不是重定向标准输出:

lessc -x style.less style.min.css

【讨论】:

    【解决方案2】:

    about_Redirection 谈到了 PowerShell 重定向。

    当您写入文件时,重定向运算符使用 Unicode 编码...要将内容重定向到非 Unicode 文件,请使用 Out-File cmdlet 及其 Encoding 参数。

    Out-File 作品:

    lessc -x style.less | Out-File style.min.css -Encoding ascii
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-02
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      • 2016-05-27
      相关资源
      最近更新 更多