问题标签 [libiconv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - 如何解码电子邮件主题
解析邮件标题中的主题时出现问题。例如,主题的形式如下。
我的猜测是 base64 解码应该包括转义字符 - SO、SI、ESC$)C -。但是,不包括解码。我怎样才能得到一个正常的字符串?
我希望结果如下。
请给我一个提示如何在代码级别做出响应。在 C 中
更新
对不起。我有一个SO, SI,但我错过了。但是没有ESC$)C,问题立即解决并分享给其他人。
在没有ESC$)C的情况下,libiconv是一个问题,但gconv(in glibc)不是问题。我使用的是libiconv。改成 gconv解决了这个问题。
谢谢。
r - 在 OSX 上安装 rpy2 以使用 R 3.4.0
我想使用一些需要 R 版本 3.4 及更高版本的 R 包。我想通过 rpy2 (2.8) 在 python (3.6.1) 中访问这些包。
我安装了 R 版本 3.4,它位于/Library/Frameworks/R.framework/Resources
但是,当我pip3 install rpy2
用来安装和使用 python 3.6.1/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6)
作为我的解释器时,我收到错误:
回溯(最后一次调用):文件“/Users/vincentliu/PycharmProjects/magic/rpy2tester.py”,第 1 行,从 rpy2 导入 robjects 文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3 .6/site-packages/rpy2/robjects/ init .py",第 16 行,在 import rpy2.rinterface as rinterface File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages /rpy2/rinterface/初始化.py",第 92 行,从 rpy2.rinterface._rinterface 导入 (baseenv, ImportError: dlopen(/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/rpy2/rinterface/_rinterface .cpython-36m-darwin.so,2):库未加载:@rpath/libiconv.2.dylib 引用自:/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/ rpy2/rinterface/_rinterface.cpython-36m-darwin.so 原因:库版本不兼容:_rinterface.cpython-36m-darwin.so需要8.0.0或更高版本,但libiconv.2.dylib提供7.0.0版本
这首先似乎是由 Anaconda 引起的问题,因此我删除了所有与 Anaconda 相关的文件,但问题仍然存在。
然后我卸载了rpy2,重新安装了Anaconda并用来conda install rpy2
安装,它也通过Anaconda安装了R版本3.3.2。然后我可以将解释器更改为/anaconda/bin/python
并可以正常使用 rpy2,但我不能使用我关心的 R 包,因为它们需要 R 版本 3.4 及更高版本。显然,Anaconda 可以安装的最旧版本是 3.3.2,那么有什么办法可以将 rpy2 与 R 版本 3.4 一起使用?
我可以看到这个问题的两个通用解决方案。一种是通过 conda 安装 rpy2,然后以某种方式将其依赖的 R 更改为系统中的 3.4。另一种解决方案是解决错误
库版本不兼容:_rinterface.cpython-36m-darwin.so需要8.0.0或更高版本,但libiconv.2.dylib提供7.0.0版本
经过一番挣扎,我发现两者都没有好的结果。
cocos2d-x - 构建 cocos2d-x 3.15 时出现 Apple Mach-O 链接器错误:“_iconv_open”,引用自:cocos2d::FontAtlas::conversionU32TOGB2312()
我正在将现有的 cocos2d-x 项目从 3.7 更新到 3.15,并且遇到以下链接器错误:
关于我应该做些什么来解决这个问题的任何想法?
使用 Xcode 9.0 构建
谢谢!
c++ - Windows环境下源码编译libxml2
尝试从当前主分支的源代码构建 libxml2: https ://github.com/GNOME/libxml2
我在 Windows 10 环境中工作并尝试构建 msvc 变体。按照这里的自述文件: https ://github.com/GNOME/libxml2/tree/master/win32
我的构建步骤是:
1. 以管理员身份打开 VS 2017 的开发人员命令提示符。
2. 导航到 libxml2\win32。
3. 运行以下命令: cscript configure.js compiler=msvc prefix=c:\opt include=c:\opt\include lib=c:\opt\lib debug=yes
4. nmake /f Makefile.msvc
5. 获取以下:链接:致命错误LNK1104:无法打开文件'iconv.lib'
请注意,我确实为 libiconv 设置了所需的环境变量,用于我的LIB
和LIBPATH
变量中的其他项目,我也尝试添加,PATH
即使它不是必需的,因为 VS 环境 cmd 读取LIB
and LIBPATH
。(C:\projects\libraries\libiconv\1.9.2-vc110-32bit\Release\lib)
我在想我得到这个链接错误的原因是因为 libiconv 也需要在 msvc141(VS17) 下构建吗?
https://git.savannah.gnu.org/git/libiconv.git
如果不是这种情况,那会很酷,因为如果那里有更新,我可能需要在项目中进行很多更改,因为当我尝试使用 VS12 和 VS15 开发人员命令提示符构建 libxml2 时,我在代码兼容性方面遇到了不同的错误,因为我猜想 repo 的所有者不再支持这些版本,或者它们只是在 VS17 环境中工作。
在此先感谢您的帮助!
完整输出:
c - C 使用 libconv 将 iso ISO-8859-1 转换为 UTF-8
我需要将拉丁语 ISO-8859-1 字符编码为 UTF-8(以及反向操作)。
我第一次使用这个答案有没有办法从 UTF8 转换为 iso-8859-1?执行操作并且它工作;
现在我想使用提供所有转换机制的 libiconv,它应该可以帮助我保持代码更简单。
我遵循了此处提供的示例: https ://www.lemoda.net/c/iconv-example/iconv-example.html
我写了一个看起来像这样的方法:
当我用普通的类似 ascii 的字符(如“abracadabra”)调用此函数时,iconv 有效。但是,一旦我向它发送强调字符,例如“éàèüöä”,那么 iconv() 调用就会失败,并显示 EILSEQ 代码:
iconv 失败:无效的多字节序列,在字符串 'éàèüöä',长度 6,输出字符串 '',长度 12
这是一个示例主程序,当存储在使用 ISO-8859-1 编码的源文件中并在使用 ISO-8859-1 作为默认字符集的 linux 系统上编译时会崩溃:
是否可以使用 iconv 运行这种转换?如果是的话,这段代码有什么问题?
r - 由于“未定义对‘libiconv’的引用”,R 的安装失败
我在安装 R 3.5.1 时遇到问题。虽然我在“cshrc”中定义了库“libiconv”的路径,但安装失败并显示以下消息:
顺便说一句,我没有root权限。
经过2天的搜索,我找不到原因。
任何帮助,将不胜感激。
windows - 如何修复“builddir 未被识别为内部或外部命令”。构建libiconv时出错?
我正在尝试使用 mingw 在 Windows 7 下编译libiconv 。我一直在关注本教程:https ://blog.inventic.eu/2010/11/how-to-compile-open-source-libraries-under-windows-using-mingw/
但是,当我尝试make时,它会引发错误。这是一个截图: https
://imgur.com/a/LVsGgRC
node.js - 节点:如何解码一个win1255文件
我只是想用节点服务器解码一个 win1255 编码文件。
我找到了解决办法!使用 Iconv 库:
这已经足够好了(在 macOS 下......),但是当我尝试在 Windows Server 2012(产品服务器)上运行它时,我遇到了一个错误,win32 下不支持 Iconv lib。
所以我尝试用iconv-lite解决它,但是我发现iconv-lite不支持win1255 / cp1255编码。
win服务器出错:
iconv.node 不是有效的 Win32 应用程序
所以说实话,我感到很无助。
希望有人可以帮助我解决这个问题。
非常感谢。
c - 将 libcurl 中的 HTML 与文件中的文本进行比较
我正在使用 libcurl 连接到一个网站,并获取 HTML,我还使用 LibTidy 来提取文本。我的目的是验证文本文件中的句子是否在 HTML 中。
感谢 LibTidy,我将所有文本文件都作为一个字符 *。我正在使用: char *strstr(const char *one, const char *two) 来比较两个字符串。第一个是来自 libcurl 和 libTidy 解析的字符串,第二个是来自文本文件的字符串。
当我使用函数 strstr(..) 时,结果为 NULL。使用调试器向我表明这两个字符串不是以相同的方式“编码”的。
我试图找到 Internet 连接导致的字符串的问题所在。我尝试了不同的代码示例来尝试修复它。
libcurl网站给出的代码,给我同样的问题,char *memory编码不好,无法正确比较。 https://curl.haxx.se/libcurl/c/getinmemory.html
我也尝试了这里的代码:https : //stackoverflow.com/a/2329792/10160890,char *ptr 也有同样的问题。
我希望能够比较来自 libcurl 的字符串和来自文本文件的字符串。
iconv - Mac OSX 上的 _libiconv 或 _iconv 未定义符号
在 Mac OSX 上从源代码编译某些包时,出现以下 iconv 错误:
或者我得到:
为什么会发生这种情况,我该如何解决这种依赖关系,或者更一般地说,弄清楚发生了什么以及如何解决它?