我正在处理看起来像是 MS Office 文档的字符串。请注意,在此示例中,有两个 BOM“字符”,一个位于字符串的开头,一个位于正文中。有时有几个字符,有时没有。在 Powershell 控制台中,它们打印为 ?
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=unicode"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
<snip - bunch of style defs>
--></style></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1>
<p class=MsoNormal style='text-autospace:none'>
<span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'></span>
<span style='font-size:12.0pt;font-family:"Times New Roman","serif"'>Testing <o:p></o:p></span>
</p></div></body></html>
字符串来自一个对象,所以我不能简单地使用 Get-Content 强制 UTF8 编码。我还能如何剥离它们?我不担心这是有损的,因为这只是通过管道传输到显示器,因此希望去除多余的字符。我还将剥离 HTML。