好友
阅读权限30
听众
最后登录1970-1-1
|
xouou
发表于 2015-10-5 10:35
本帖最后由 xouou 于 2015-10-5 11:25 编辑
本工具本体是iconv , 短小精悍的转码工具, 几乎支持任意2种编码之间的转换 , 各位感兴趣的可以百度一下 , 国外的好东东
本批处理特点: 可集成到任意IDE, 支持拖拽转换 , 转换前备份 , 转换前检查编码, 防止多次转换
我这里使用Source Insight 3.5 作为演示环境 , 批处理配置iconv , 实现utf-8转gb2312
为什么要转码?
答:Source Insight 虽然牛逼哄哄 , 但缺不支持中文utf-8 , 如果有中文, 会出现乱码 , 如图,转码之前是乱码
于是我写了个批处理,集成到Source Insight 的菜单栏(自定义添加即可)
@echo off
title utf8转gb2312_基于Iconv的编码转换工具v1.2 by嘎子 2015-09-30更新
cd /d "%~dp1"
set filename=%~nx1
set pats=%~dp1
::首次使用,请修改下面的IconvPath的路径!!!!!!!!!!!!!
set IconvPath="D:\IDE\iconv\iconv.exe"
if "%filename:~-2%"==".c" goto :single
if "%filename:~-4%"==".xml" goto :single
if "%filename:~-2%"==".h" goto :single
if "%filename:~-4%"==".cpp" goto :single
if "%filename:~-5%"==".java" goto :single
if "%filename:~-3%"==".cs" goto :single
if "%filename:~-4%"==".txt" goto :single
cls
color 0a
ECHO %filename%
ECHO 不支持这种文件类型,想要支持它请手动修改相关代码
pause
exit
:single
echo.
if not exist "%pats%/backup" mkdir "%pats%/backup"
ECHO 转换的文件:%filename% >> backup/log.txt
if not exist "%pats%/backup/%filename%" (
copy /y "%filename%" "backup/%filename%" & echo 执行备份...
) else (
echo "%filename%" 文件已备份过,未执行备份.
)
echo.
echo 正在检查文本编码,防止重复转换时,出现中文丢失...
echo.
%IconvPath% -f utf-8 "%filename%" >nul
if errorlevel 1 goto err
echo.
echo 正在执行转换...
%IconvPath% -c -f utf-8 -t gb2312 "%filename%" > "tmp" & move "tmp" "%filename%"
if errorlevel 1 echo 貌似转换时发生了点小问题,请检查.
ping /n 3 127.1>nul
exit
:err
echo.
echo 文本不是utf-8编码, 未执行转换到gb2312.
echo.
pause
exit
稍作修改可支持其他类型编码转换 , 也可批量转换.
最后说一句, 我这个只是个实用小工具 , 不是什么牛逼作品 , 只是希望能帮到吾爱的朋友们 ,
就别让我证明是不是原创了 , 本批处理其实我2013年就写了, 只是现在完善了下, 觉得没问题了才发到52的
==============
另外, 为啥我这里几种浏览器都不能发图, 最后只能用ie8 , 但ie8也有问题的样子 , 编辑了好几次 , 但其他论坛没问题啊
iconv转码20150930_v1.2.rar
(523.49 KB, 下载次数: 246)
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|