Board logo

标题: [文本处理] 批处理怎样把ANSI转为网页编码? [打印本页]

作者: hijackle    时间: 2014-9-24 02:01     标题: 批处理怎样把ANSI转为网页编码?

如何把神灬曹操 这样的文字转换为%E7%A5%9E%E7%81%AC%E6%9B%B9%E6%93%8D 这样的网页编码?
作者: CrLf    时间: 2014-9-24 04:48

把 php 当第三方来用也不错:
  1. php.exe -r "echo urlencode(iconv('gbk','utf-8',$argv[1]));" "神灬曹操"
复制代码
php下载见此贴:http://bbs.bathome.net/viewthread.php?tid=32034
作者: terse    时间: 2014-9-24 12:31

encodeURIComponent 呢?
  1. mshta "javascript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(encodeURIComponent('神灬曹操'));close();"|more
  2. pause
复制代码

作者: hijackle    时间: 2014-9-24 12:35

2L的那个PHP下载了之后提示不是有效的win32程序,奇怪
作者: hijackle    时间: 2014-9-24 12:39

3L的如何把获取的值直接赋值给变量呢?难道把mshta获取的值导入到文本再去取?有没有更直接方法?
作者: DAIC    时间: 2014-9-24 14:02

  1. @echo off
  2. set JSF="%TMP%\EC_URI.JS"
  3. echo=WScript.echo(encodeURIComponent(WScript.Arguments(0)));>%JSF%
  4. for /f %%i in ('cscript //nologo %JSF% "神灬曹操"') do (
  5.     set "strURLcode=%%i"
  6. )
  7. echo,%strURLcode%
  8. pause
复制代码

作者: CrLf    时间: 2014-9-24 17:35

回复 6# DAIC


    GetStandardStream(1).Write 就是输出到 STDOUT,所以可以不用临时文件的
  1. for /f %%a in ('mshta "javascript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(encodeURIComponent('神灬曹操'));close()"') do echo %%a
复制代码

作者: CrLf    时间: 2014-9-24 17:51

回复 4# hijackle


有的机子没装 c++ 运行库,缺少 msvcr110.dll 文件
感谢反馈,已重新打包上传




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2