- $strs="百度"
- $utf8=""
- [text.Encoding]::UTF8.GetBytes($strs)|%{$utf8+="`%"+$_.tostring("x")}
- $utf8.ToUpper() #输出为="%E7%99%BE%E5%BA%A6“
-
-
-
- $utf8="%E7%99%BE%E5%BA%A6"
- $byte=((($utf8).Replace("%",",0x")).substring(1)).Split(",")
- [text.Encoding]::UTF8.GetString($byte)#输出为汉字
复制代码 前面是根据自己想法拼凑出来的脚本,随着对powershell的使用增加,了解到了更多的方法和属性:
版本2- $strs="百度"
- ([text.Encoding]::UTF8.GetBytes($strs)|%{"`%"+$_.tostring("X")}) -join $null #输出utf8编码
-
- $utf8="%E7%99%BE%E5%BA%A6"
- $byte=$utf8.split("%",[StringSplitOptions]::RemoveEmptyEntries)|%{[byte]("0x"+$_)}
- [text.Encoding]::UTF8.GetString($byte) #输出为汉字
复制代码 再后来又发现了一个类,实现起来更简单,:
版本3- [void][Reflection.Assembly]::LoadWithPartialName("System.Web") #加载System.Web
- [Web.HttpUtility]::UrlEncode("百度").ToUpper() #输出utf8编码
- [Web.HttpUtility]::UrlDecode("%E7%99%BE%E5%BA%A6") #输出为汉字
复制代码 http://hi.baidu.com/shrekzz/item/a20393dbae6e793549e1ddfe |