我正在尝试将文件System.Web.WebPages.Razor.dll.refresh
从 ASCII 转换为 UTF-16LE。当我file -i
对目录中的其他刷新文件运行命令时,我得到如下信息:
System.Web.Optimization.dll.refresh: text/plain; charset=utf-16le
当我在目标文件上运行它时,我得到:
System.Web.WebPages.Razor.dll.refresh: text/plain; charset=us-ascii
我认为这种编码差异导致我的构建管道出错,所以我试图将此 ASCII 文件转换为 UTF-16LE,所以它就像其他刷新文件一样。但是,iconv
似乎并没有给我我正在寻找的输出。
我的命令:
iconv -f US-ASCII -t UTF-16LE "System.Web.WebPages.Razor.dll.refresh" > "System.Web.WebPages.Razor.dll.refresh.new" && mv -f "System.Web.WebPages.Razor.dll.refresh.new" "System.Web.WebPages.Razor.dll.refresh"
输出有两个问题。
1)它将文件隔开(即从this
到t h i s
)。
2)当我file -i
在这个新文件上运行时,我得到以下输出:
System.Web.WebPages.Razor.dll.refresh: application/octet-stream; charset=binary
为什么我得到这个二进制输出,为什么它会隔开文本?有没有更好的方法将此文件转换为正确的编码?