精华内容
下载资源
问答
  • iconvWindows

    2021-01-07 11:53:59
    iconv是文件编码格式转换工具。 提供的iconv.exe是iconvWindows版。
  • iconv_windowsx64

    2017-07-06 23:24:09
    go amd64可用iconv_windows(1.14版本),字符转换库,亲测可用。
  • lua iconv For windows

    热门讨论 2013-11-16 17:54:01
    本来以为很简单 结果找了半天发现都是很坑爹的办法 linux下可以直接安装luaiconv windows下呢 只好自己编了 本来想找个别人写好的 发现根本找不到 更坑爹的是 我用eclipse的LDT开发 结果发现它的lua vm没办法加载c库...
  • windows下的iconv静态库

    2015-01-19 16:16:53
    windows下可使用的iconv静态库,只需引入iconv.h,iconv.lib即可,使用方法见示例文件。
  • Windows下使用iconv

    千次阅读 2019-11-15 21:17:41
    fatal error C1083: 无法打开包括文件: “iconv.h”: No such file or directory 找到iconv.h文件中,所有带@符号的字符串都要去掉@或屏蔽: Line21,@DLL_VARIABLE@改为/*@DLL_VARIABLE@*/ Line82,@...

    资源下载

    官网资源: https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
    CSDN资源:https://download.csdn.net/download/hhhuang1991/11979866
    VS2015配置项目+测试代码

    环境配置

    编译环境:Win7 64位系统 VS2015

    1. 创建一个VS2015项目,应用程序类型使用静态库,注意取消勾选“使用预编译头”;
    2. 将资源[libiconv-1.16\lib]文件夹下的所有文件,全部复制到第一步创建的工程目录下,并找到config.h.in文件,将后缀.in去掉;
    3. 将资源[libiconv-1.16\include]文件夹下的iconv.h.in,复制到工程目录下,并将后缀.in去掉;
    4. 将资源[libiconv-1.16\libcharset\lib]文件夹下的localcharset.c,复制到工程目录下;
    5. 将资源[libiconv-1.16\libcharset\include]文件夹下的localcharset.h.in,复制到工程目录下,并将后缀.in去掉;
    6. 将资源[libiconv-1.16\include]文件夹下的iconv.h.in,复制到工程目录下,并将后缀.in去掉;
    7. iconv.clocalcharset.c文件加载到工程中;
    8. 直接编译工程。

    异常排除

    1. iconv.c文件中#include <config.h>改为#include "iconv.h"
      localcharset.c文件中#include <config.h>改为#include "config.h"
     fatal error C1083: 无法打开包括文件: “config.h”: No such file or directory
     fatal error C1083: 无法打开包括文件: “iconv.h”: No such file or directory
    
    1. 找到iconv.h文件中,所有带@符号的字符串都要去掉@或屏蔽:
    Line21,@DLL_VARIABLE@改为/*@DLL_VARIABLE@*/
    Line82,@ICONV_CONST@改为const
    Line100, @USE_MBSTATE_T@改为USE_MBSTATE_T
    Line101,@BROKEN_WCHAR_H@改为BROKEN_WCHAR_H
    Line121, @USE_MBSTATE_T@改为 USE_MBSTATE_T
    Line168,@HAVE_WCHAR_T@改为HAVE_WCHAR_T
    
    1. 找到localcharset.c文件中的sprintf函数,全部替换成安全类型的函数sprintf_s

    Demo

    1. 编译上面工程,将会生成静态库libiconv.lib。
    2. 创建一个测试工程。将iconv.h和库文件libiconv.lib拷贝到测试工程目录下,测试代码如下,
    #include "stdafx.h"	
    #include "..\libiconv\iconv.h"
    #pragma comment(lib, "..\\Debug\\libiconv.lib")
    #include <iostream>
    using namespace std;
    int main()
    {
         // 将GBK编码的字串,转成UTF-8编码的字
         iconv_t cd = iconv_open("UTF-8", "GBK"); 
         if ((iconv_t)-1 == cd)  
         {
    	 if (EINVAL == errno)
    	 {
    	   cerr << "The conversion from fromcode to tocode is not supported by the implementation" << endl;
    	 }
    	 else {
    	   cerr << "iconv_open fail!" << endl;
    	 }
    	  return -1;
         }
         
         // 将转换描述符cd中的转换状态恢复成初始化状态,方法是iconv中的inbuff参数设置成NULL
         iconv(cd, NULL, NULL, NULL, NULL);
         // 将GBK编码的"啊"转成UTF-8编码
         char * inbuff = new char[64];
         memset(inbuff, 0, sizeof inbuff);
         char *outbuff = new char[64];
         memset(outbuff, 0, sizeof outbuff);
         
         // "啊"的GBK编码为0xB0A1,UTF-8编码为0xE2 0x80 0x9C
         inbuff[0] = 0xA1;
         inbuff[1] = 0xB0;
         char * inptr = inbuff;   // 为什么要设置这个中间指针inptr,而不支持采用      inbuff?因为iconv会改变指针inbuff的值,这样在删除内存时delete[] inbuff,将会出错
         size_t insize = 2;
         char * outptr = outbuff;  // 作用与inptr类似
         size_t outsize = 64;
         char *save = new char[64];
         memset(save, 0, sizeof save);
         size_t outsave = 0;
         
         // 资料介绍,iconv每次只转换一个多字节字符。但是经过测试,只要内容是正常,都是一次转换完,不明白其中缘由。
         size_t ret = iconv(cd, (const char **)&inptr, &insize, &outptr, &outsize);
         if ((size_t)-1 == ret) {
            if (E2BIG == errno) {
                cerr << "There is not sufficient room at *outbuf." << endl;
            }
            else if (EILSEQ == errno) {
                cerr << "An invalid multibyte sequence has been encountered in the input." << endl;
            }
            else if (EINVAL == errno) {
                cerr << "An incomplete multibyte sequence has been encountered in the input." << endl;
            }
            goto TestFinished;
         }
         else {
            outsave = 64 - outsize;
            memcpy(save, outptr - outsave, outsave);   // 此处采用memcpy而不采用strcpy的目的是,当ACSII类型字符转换到UCS2类型时,会产生0x00的字符,使用strcpy复制会在此处截断,导致内容丢失
         }
         cout << "successed." << endl;
    TestFinished:
         delete[] inbuff;
         delete[] outbuff;
         delete[] save;
         iconv_close(cd);
         getchar();
         return 0;
      }
    	
    	
    

    参考资源

    iconv_open
    iconv

    展开全文
  • iconv windows版本 移植 库

    热门讨论 2012-03-22 22:53:35
    如果需要将Linux版本中用到iconv函数的程序移植到windows上,那么使用这个库是最方便。几乎不用更改代码,只取简单地配置一下即可编译运行。 包含dll, lib, demo程序。
  • Windows 10 正确编译 iconv 的方法

    千次阅读 2017-08-21 19:17:38
    问题起源 微软的Visual C++对字符集转换支持很弱,寻找字符集转换功能强大的库是非常必要的。当前形式下,基于 Linux ...为此把源生自Linux平台的libiconv库迁移到Windows平台的工作是非常必要的。 ICONV支持的字符集

    问题起源

    微软的Visual C++对字符集转换支持很弱,寻找字符集转换功能强大的库是非常必要的。当前形式下,基于 Linux 系统设计的 Android 系统的常用字符集是UTF-8, 而微软对它的支持相当不好。为此把源生自Linux平台的libiconv库迁移到Windows平台的工作是非常必要的。

    ICONV支持的字符集

    欧洲语系

    ASCII, ISO-8859-{1,2,3,4,5,7,9,10,13,14,15,16}, KOI8-R, KOI8-U, KOI8-RU, CP{1250,1251,1252,1253,1254,1257}, CP{850,866,1131}, Mac{Roman,CentralEurope,Iceland,Croatian,Romania}, Mac{Cyrillic,Ukraine,Greek,Turkish}, Macintosh

    Semitic languages(亚非语系)

    ISO-8859-{6,8}, CP{1255,1256}, CP862, Mac{Hebrew,Arabic}

    日本语

    EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1, ISO-2022-JP-MS

    汉语

    EUC-CN, HZ, GBK, CP936, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, BIG5-HKSCS:2004, BIG5-HKSCS:2001, BIG5-HKSCS:1999, ISO-2022-CN, ISO-2022-CN-EXT

    韩语

    EUC-KR, CP949, ISO-2022-KR, JOHAB

    泛美语系

    ARMSCII-8

    格鲁吉亚语

    Georgian-Academy, Georgian-PS

    塔吉克斯坦语

    KOI8-T

    哈撒克斯坦语

    PT154, RK1048

    泰国语

    ISO-8859-11, TIS-620, CP874, MacThai

    老挝语

    MuleLao-1, CP1133

    越南语

    VISCII, TCVN, CP1258

    同时支持特定的操作系统平台表示的字符集

    HP-ROMAN8, NEXTSTEP,uint16_t uint32_t ,char, wchar_t 

    完整的UNICODE标准

    UTF-8 

    UCS-2, UCS-2BE, UCS-2LE ,UCS-2-INTERNAL, UCS-4-INTERNAL

    UCS-4, UCS-4BE, UCS-4LE 

    UTF-16, UTF-16BE, UTF-16LE 

    UTF-32, UTF-32BE, UTF-32LE 

    UTF-7 

    C99, JAVA

    在启用configure选项 --enable-extra-encodings后它还能支持:
    欧洲语系:

    CP{437,737,775,852,853,855,857,858,860,861,863,865,869,1125}

    亚非语系:

    CP864

    日本语

    EUC-JISX0213, Shift_JISX0213, ISO-2022-JP-3

    汉语

    BIG5-2003 (experimental)

    土耳其语

    TDS565

    特定的操作系统平台:

    ATARIST, RISCOS-LATIN1

    编译笔记

    系统是Windows 10 Creator Updated(newer 1703),开发工具是Visual Studio 2015。
    vmware new window 10 1703 x86 instance
    install msys2.0 i686
    modify /etc/pacman.d/ -> 清华大学镜像站
    pacman -Syu -> 更新pacman自身,等待强退控制台程序的提示出现后强退
    pacman -Syu gcc 
    pacman -Syu make automake autoconf autogen libtool gettext
    pacman -Syu tar zip zlib zlib-devel 
    pacman -Syu mingw-w64-i686-ffmpeg mingw-w64-i686-libc++
    wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
    tar -xvf libiconv-1.15.tar.gz
    cd libiconv-1.15
    vim build-aux/ltmain.sh -> 修改 #include process.h到代码模板头部
    vim build-aux/ltmain.sh -> 修改 _spawnv 为 spawanv (搜索_P_WAIT)
    vim libcharset/build-aux/ltmain.sh -> 修改 #include process.h到代码模板头部
    vim libcharset/build-aux/ltmain.sh -> 修改 _spawnv 为 spawanv (搜索_P_WAIT)
    vim srclib/lstat.c -> 注释# undef __need_system_sys_stat_h
    ./configure --prefix=/usr/local
    make
    make install
    copy /usr/local/bin/*.dll -> 工程bin目录
    copy /usr/local/include/*.h  -> 工程include目录
    copy /usr/local/lib/*.a -> 工程lib目录
    copy /usr/bin/gettext.exe msys-2.0.dll 以及其它依赖项到工程bin目录


    说明

    Visual Studio 2015默认的平台是32位的。64位平台上可直接安装MSYS2 X86_64版本,也就是说直接从第2步开始。
    为了提高下载源的速度,pacman改用清华大学的镜像源
    第4步pacman要更新自己,当前MSYS2的做法是在等待安装完成的提示后杀掉MSYS控制台进程
    pacman默认安装的C++编译器版本是6.3版本

    测试代码

    #include "stdafx.h"
    #include <iconv.h>
    #include <assert.h>
    #include <string>
    #include <Windows.h>
    
    typedef libiconv_t(*kiconv_open_t)(const char* to,const char* from);
    typedef size_t(*kiconv_transfer_t)(libiconv_t cd,char** in,size_t* iin,char** out,size_t *iout);
    typedef int(*kiconv_close_t)(libiconv_t cd);
    
    kiconv_close_t kclose=NULL;
    kiconv_transfer_t ktransfer=NULL;
    kiconv_open_t kopen=NULL;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	
    	HMODULE hIconv=LoadLibrary(_T("libiconv-2.dll"));
    	DWORD dwError=GetLastError();
    	assert(hIconv!=INVALID_HANDLE_VALUE&&hIconv!=NULL);
    	kopen=(kiconv_open_t)GetProcAddress(hIconv,"libiconv_open");
    	assert(kopen!=NULL);
    	ktransfer=(kiconv_transfer_t)GetProcAddress(hIconv,"libiconv");
    	kclose=(kiconv_close_t)GetProcAddress(hIconv,"libiconv_close");
    	iconv_canonicalize("utf-8");
    	iconv_t cd=kopen("utf-8","utf-16");
    	assert(cd!=(iconv_t)-1);
    	ktransfer(cd,NULL,NULL,NULL,NULL);
    	kclose(cd);
    	cd=iconv_open("utf-8","utf-16");
    	iconv(cd,NULL,NULL,NULL,NULL);
    	std::wstring wstr=L"测试TEST123";
    	size_t ilen=wstr.length();
    	size_t iin=ilen*2;
    	wchar_t* pwin=(wchar_t*)calloc(ilen+2,2);
    	char* pin=(char*)pwin;
    	wcscpy_s(pwin,iin,wstr.data());
    	size_t iout=ilen*3;
    	char* pout=(char*)calloc(iout+1,1);
    	iconv(cd,&pin,&iin,&pout,&iout);
    	printf(pout);
    	return 0;
    }
    
    

    若有其它问题,请留言提问。


    转载时请遵重他人的劳动成果,不要删除作者原文链接。
    转载请注明来源:http://blog.csdn.net/caoshiying。谢谢合作。

    展开全文
  • win_iconv - 编码转换工具,下载后解压,复制iconv.exe到C:\Windows\System32,即可使用。
  • Windows下编译luaiconv为DLL拓展

    千次阅读 2018-08-09 12:15:20
    前言 有许多应用程序、游戏使用Lua作为插件的开发语言,有时候我们会遇到字符集相关的问题,但是Lua自身却没有内置字符集转换相关的库和...想要为Lua编写iconv拓展,首先我们需要在Windows下获得libiconv库,新版...

    前言

    有许多应用程序、游戏使用Lua作为插件的开发语言,有时候我们会遇到字符集相关的问题,但是Lua自身却没有内置字符集转换相关的库和函数,这时候就要依赖外部拓展了。源生自Linux平台的libiconv库具有强大的字符集转换功能,我们可以为Lua编写iconv拓展以实现在Lua进行字符集转换。

    准备

    想要为Lua编写iconv拓展,首先我们需要在Windows下获得libiconv库,新版libiconv移除了Windows下的Makefile支持,编译起来就比较麻烦了。

    点击这里可以直接下载我编译好了的libiconv库,版本为1.15

    想自己编译的可以参考这篇文章:WIN10 下 VS2015 编译libiconv-1.15

    编译 luaiconv

    • 首先在 Github 下载 luaiconv 源文件,当前版本为 lua-iconv-7.tar.gz(https://github.com/ittner/lua-iconv/downloads)。
    • 在 VS 中新建 Win32 项目,命名为 iconv,选择 DLL,勾选空项目。
    • 将 luaiconv 中的 luaiconv.c 复制到 \iconv\iconv\ ,并添加到项目中,在 luaopen_iconv 函数前添加 __declspec(dllexport)
    • 在项目属性中添加 libiconv 以及 lua 的附加包含目录(属性 - C/C++ - 常规)、附加库目录(属性 - 链接器 - 常规)、附加依赖项(属性 - 链接器 - 输入,填写 .lib 文件路径)。
    • 生成解决方案/项目,得到 DLL 文件。

    测试 iconv.dll

    • 下载测试文件(包含编译好的 dll 文件)
    • 将 iconv.dll 复制到测试目录 
    • 在测试文件目录下运行(命令提示符) lua test.lua 启动测试

     

    展开全文
  • ICONV for Windows

    千次阅读 2014-12-28 22:10:46
    ICONV for Windows Oct 24 Posted by  alesk This is a short memo about installing  iconv  on Windows host (specifically: Windows 7 SP1 x64). Iconv is a handy  Unix/Linux  ...

    ICONV for Windows

    This is a short memo about installing iconv on Windows host (specifically: Windows 7 SP1 x64). Iconv is a handy Unix/Linux tool that is used for conversion between different character encodings.
    Unfortunately, I’m not always in a position to use my favorite Linux distro at job, so here is a short recipe on how to setup iconv port for Win32.

    1. Download libiconv-1.9.1.bin.woe32.zip from Sourgeforge.net
    2. Download support library gettext-runtime-0.13.1.bin.woe32.zip from here. Make sure that you download exactly the version 0.13.1 and NOT newer, due to some compatibility issues!
    3. Create some directory, such as C:\UNIXUTIL\iconv
    4. Unzip the content of \bin from both zip files and save the content together in above directory.

      The final content of iconv directory should look like this:

      C:\UNIXUTIL\iconv>dir
       Volume in drive C has no label.
       Volume Serial Number is A88E-6A42
      
       Directory of C:\UNIXUTIL\iconv
      
      11.10.2012  13:33    <DIR>          .
      11.10.2012  13:33    <DIR>          ..
      14.01.2004  21:59            28.672 asprintf.dll
      14.01.2004  01:56            24.576 charset.dll
      14.01.2004  21:59            20.480 envsubst.exe
      14.01.2004  21:59            20.480 gettext.exe
      07.10.2003  21:17             2.715 gettext.sh
      14.01.2004  01:56           892.928 iconv.dll
      14.01.2004  01:56            16.384 iconv.exe
      14.01.2004  21:59            45.056 intl.dll
      14.01.2004  21:59            20.480 ngettext.exe
                    11 File(s)      1.071.780 bytes
                     2 Dir(s)  57.396.654.080 bytes free
      
      C:\UNIXUTIL\iconv>
      

      Usage:

      C:\UNIXUTIL\iconv>iconv --help
      Usage: iconv [--binary] [-c] [-s] [-f fromcode] [-t tocode] [file ...]
      or:    iconv -l
      

      List of supported code pages:

      C:\UNIXUTIL\iconv>iconv -l
      

      Example of converting file from utf-8 to cp1250 encoding:

      C:\UNIXUTIL\iconv>iconv -f utf-8 -t cp1250 utf-8.txt > cp1250.txt
      

    Posted on 24.10.2012, in MS Windows and tagged windows. Bookmark the permalink. Comments Off.

      Comments are closed.

      展开全文
    • iconv库32位版和64位版都含有,其中包含编译好的: charset.lib、iconv.lib、iconv.dll、charset.dll、iconv.exe 以及头文件:iconv.h、libcharset.h、localcharset.h 还有说明:iconv.1.html、iconv.3.html 等资源
    • windows版 具体用法: -f From CodePage 源编码 -t To Codepage 目标编码 -s SubDirectory 递归检索子目录 -v Verbose 显示转化日志 eg: iconv *.txt -p .\ -f gb2312 -t utf-8 -v -s
    • Windows上配置iconv

      2020-12-23 14:22:42
      Windows上配置iconv1.打开网站 :http://gnuwin32.sourceforge.net/packages/libiconv.htm 2.往下翻找到下载(Download),选择Complete package, except sources 点击 3.双击进行安装,默认下一步,到完成 4.配置环境...
    • linux和windows版本:apr,apr-iconv和apr-util安装包
    • iconv指令: iconv -f 原始字符集 -t 目标字符集 原始文件 -o 目标文件 比如将日文SHIFT-JIS文件转为简体中文: iconv -f SHIFT-JIS -t GB18030 url.txt -o test18030.txt 在notepad中,默认情况下,使用的编码...
    • Windows下编译iconv

      2020-12-23 14:22:47
      iconv基于GPL公开源代码,是GNU项目的一部分,在各种Unix-like操作系统下很容易编译和使用,而在Windows下编译iconv就没那么简单了。最新版的iconv(目前是libiconv-1.14.tar.gz)已经不再提供Visual C++的编译文件,...
    • 一般像 GD2 之類的 Library 照這樣安裝是沒有錯,但是在 iconv 狀況就不同了,馬上就出現下面的畫面: (點圖可放大)因為要啟動 iconv 的功能,除了 php_iconv.dll 之外,還需要一個 iconv.dll,也...
    • iconv函数很强大,可以windows不带这个东西,不知道哪位大神在win下重写了iconv,很好很强大,内附使用示例
    • iconv 库下载

      2017-03-19 20:22:41
      iconv 库,用于配置libxml2,找了很久,分享给大家
    • 移植到windows下的iconv

      2021-01-30 14:40:54
      This is a short memo about installing iconv on Windows host (specifically: Windows 7 SP1 x64). Iconv is a handy Unix/Linux tool that is used for conversion between different character encodings.Unfort...
    • libiconv源码,如果不放心的可参照 https://blog.csdn.net/uniqsa/article/details/51383311的编译步骤一步一步编译,就是要下cygwin进行./configure来根据不同的平台生成不同的文件有点麻烦,所以直接把生成好的...
    • 快速安装,可在Windows和类的沙盒环境中使用。 用于诸如 , , , 等流行项目。 比更快(有关性能比较,请参见下文)。 直观的编码/解码API,包括流支持。 通过在浏览器中使用或 (〜180KB的gzip用缓冲液垫片...
    • 操作系统版本Windows 11 X64专业版 Visual Studio 2019 Professional Cygwin64安装gcc-core、g++、gdb、make、libtool包 ...WindowsCrtIncludeDir='C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041..
    • 一、简述 IDEA中设置了文件全局编码为UTF8之后,对于原先GB2312编码的项目出现乱码。...于是想到windows上可以使用git bash,而bash中转码命令iconv。下面使用这个命令来完成批量原地转码。 ...
    • 我知道nodejs有一些iconv扩展,但它们用于linux而不是windows.在javascript或nodejs(windows)中是否有像iconv这样的方法?或Windows的任何扩展?或任何其他建议? 请不要说我将php的字符集更改为utf-8,我无法编辑php,...
    • E:\msys64\mingw64\lib luarocks make ICONV=E:\msys64\theIconvDll\bin ICONV_INCDIR=E:\msys64\theIconvDll\include image-20200502003046172 于是乎,把缺少的dll直接复制到system32文件夹下,然后报如下错误 ...
    • libxml2 + iconv + msvc 为了跨平台的解析xml,偶然获得Linux下比较好用的一个xml的解析库libxml2,使用起来确实比较简单,方便;但移植到windows下后发下使用上存在问题: 无法解析格式位GB2312类型的XML文件,但...

    空空如也

    空空如也

    1 2 3 4 5 ... 20
    收藏数 17,976
    精华内容 7,190
    热门标签
    关键字:

    iconvwindow10