找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 14470|回复: 0

[转载代码] PowerShell实现UTF-8字符转换

[复制链接]
发表于 2013-9-30 21:19:49 | 显示全部楼层 |阅读模式
  1. $strs="百度"
  2. $utf8=""
  3. [text.Encoding]::UTF8.GetBytes($strs)|%{$utf8+="`%"+$_.tostring("x")}
  4. $utf8.ToUpper() #输出为="%E7%99%BE%E5%BA%A6“



  5. $utf8="%E7%99%BE%E5%BA%A6"
  6. $byte=((($utf8).Replace("%",",0x")).substring(1)).Split(",")
  7. [text.Encoding]::UTF8.GetString($byte)#输出为汉字
复制代码
前面是根据自己想法拼凑出来的脚本,随着对powershell的使用增加,了解到了更多的方法和属性:

版本2
  1. $strs="百度"
  2. ([text.Encoding]::UTF8.GetBytes($strs)|%{"`%"+$_.tostring("X")}) -join $null #输出utf8编码

  3. $utf8="%E7%99%BE%E5%BA%A6"
  4. $byte=$utf8.split("%",[StringSplitOptions]::RemoveEmptyEntries)|%{[byte]("0x"+$_)}
  5. [text.Encoding]::UTF8.GetString($byte) #输出为汉字
复制代码
再后来又发现了一个类,实现起来更简单,:

版本3
  1. [void][Reflection.Assembly]::LoadWithPartialName("System.Web")  #加载System.Web
  2. [Web.HttpUtility]::UrlEncode("百度").ToUpper() #输出utf8编码
  3. [Web.HttpUtility]::UrlDecode("%E7%99%BE%E5%BA%A6") #输出为汉字
复制代码
http://hi.baidu.com/shrekzz/item/a20393dbae6e793549e1ddfe
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:42 , Processed in 0.016385 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表