You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中使用IO以UTF-8编码读取文本文件

PowerShell 指定UTF-8编码读取文本文件的实现

你当前使用的是.NET底层类的文件读取方法,只需要给ReadAllLines方法传入编码参数即可指定UTF-8读取,也可以直接用PowerShell原生cmdlet实现,两种方案如下:

方案1:修改现有.NET方法实现

直接在原有代码基础上增加第二个编码参数即可:

$text = [System.IO.File]::ReadAllLines("path.txt", [System.Text.Encoding]::UTF8)
$text

方案2:使用PowerShell原生读取命令

用内置的Get-Content命令,通过-Encoding参数直接指定编码,写法更贴合PowerShell使用习惯:

$text = Get-Content -Path "path.txt" -Encoding UTF8
$text

版本兼容说明

  • PowerShell 7及以上版本:上述两种写法都自动兼容带BOM、不带BOM的UTF-8文件,直接使用即可。
  • Windows PowerShell 5.1及更早版本:上述写法默认仅支持读取带BOM的UTF-8文件,如果需要读取无BOM的UTF-8文件,需要显式声明无BOM的UTF8编码实例再传入:
    $utf8NoBom = [System.Text.UTF8Encoding]::new($false)
    $text = [System.IO.File]::ReadAllLines("path.txt", $utf8NoBom)
    

内容的提问来源于stack exchange,提问作者Isaac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 14:33:22