GNU IDN库-Libidn
介绍
目录
新闻
2012年1月10日:针对pr29功能修复了一个infloop错误。 该库已被重新授权为双重GPLv2+|LGPLv3+。 请参阅 Libidn 1.24公告 . 2011年5月4日:质量保证改进:我们发布 叮当声分析器报告 对于 库。 2011年4月20日:宣布实施IDNA2008 打电话 库ID 2 . 2008-10-07:质量保证改进:我们 出版 圈代码复杂性图表 和 自检代码覆盖图 . 2007-07-31:发布1.0版,表明Libidn 现在被认为是稳定的。 它已经在生产中使用了几个 几年来只发现了一些小问题。 2007-05-31:Libidn现在是用git开发的,而不是cvs 是一个 公众的 萨凡纳git存储库 . 2006-06-07:错误消息的翻译工作正常 该库已使用MinGW移植到Windows。 2005-12-03:版本0.6.0包括本机C#端口,已贡献 亚历山大·格诺克。 2004-11-08:GNU/Linux发行版 Fedora核心3 包括 Libidn版本0.5.6。 2004-10-02:版本0.5.6包含功能 (例如。, idna存储错误 )从返回代码转换 到人类可读的文本字符串。 2004-06-26:版本0.5.0包括 用于检测“问题序列”以进行规范化的模块 作为 在中讨论 29年4月 . 2004-06-01:0.4.8版包含本机Java端口,这得益于 奥利弗·希茨。 2004-04-30:对背后的规范感兴趣的人 libidn可能感兴趣 在里面 一个提议 Unicode联盟更改为NFKC .我有 张贴的 给IDN工作组的消息 邮件列表 征求意见,但显然 列表版主正在忽略它。 2004年3月27日:最近 补丁 至GNU 利比亚银行 有 合并,扩展了 获取addrinfo 美国石油学会 基于我的 写 。API是 标准化。 2004-02-28: A类 NetBSD公司 包裹 存在。 2004-02-28:版本0.4.0包含一个用于 中描述的TLD功能(部分) draft-hoffman-idn-reg . 2004-01-30:Perl模块 网络::LibIDN 为Libidn提供Perl绑定的是 多亏了托马斯·雅各布(Thomas Jacob)。 该页面还包括一个 为Libidn添加TLD特定意识的补丁。 2004年1月6日:A FreeBSD端口包 多亏了Kirill 波诺马雷。 2004年01月01日:萨凡纳上个月出现了问题,现在仍然没有 完全运行。 CVS已移动到一台专用计算机 它的只读镜像有望通过Savannah在 未来。 2003-10-29:一个旨在提供 Libidn的PHP绑定 美国石油学会 由Turbo Fredriksson启动。 2003-10-11:Mandrake 9.2的预编译二进制文件 可获得的 作为glibc的一部分构建,以及 作为 一 RPM包 ,多亏了奥登·埃里克森。 2003-10-02:版本0.3.1修复了在 IDN连接 . 2003-06-26:Cygwin的预编译二进制文件可从 https://anfaenger.de/cygwin/libidn/ 感谢Gerrit P.哈斯。 2003-02-26:版本0.1.11包括 命令行工具 和a Emacs公司 Lisp语言 接口 . 2003年2月21日:Debian 包括 利比登 感谢Ryan M.Golbeck。 2003-02-12:版本0.1.7使用 官方的 IDNA ACE前缀“xn--”。 2003-01-28:版本0.1.5可以作为 GNU库 ,可用 是 详细说明 和 演示新getaddrinfo()API的示例代码 . 2003-01-08:添加了 简单的 补丁 演示对IDN的支持 GNU(全球导航单元) InetUtils公司 发出砰的声响 实用程序。 2003-01-05:版本0.1.0,随Punycode和IDNA发布。 2003-01-03:Libidn是一个官方GNU项目。 2002-12-26: 已移动 萨凡纳项目 。已从中启动库重命名 下一版本将实现“libstringprep”到“libidn” Punycode和IDNA也是。 2002-12-13:0.0.8版被移植到20多个平台,包括 Microsoft Windows。 2002-11-07:0.0.2版现在由使用 GNU SASL公司 . 2002-11-05:0.0.0版本的首次发布。
试试看
文档
正在下载
支持
开发
$git克隆 git://git.savannah.gnu.org/libidn.git
漏洞
相关实施
编辑器 ,在中 Gnus公司 新闻阅读器。 GNU库 GNU石狮 GNU SASL公司 胡言乱语 Mutt(静音) 邮件阅读器。 Elinks公司 web浏览器 格洛克斯 ,Jabber/XMPP库 KDE公司 ,用于所有域名查找 网络::LibIDN ,perl绑定 LibIDN Ruby绑定 cURL PHP IDNA扩展
如何使用?
#包括<stdio.h> #包括<stdlib.h> #包括<string.h> /* *建议使用libtool和pkg-config进行编译: * *$libtool cc-o示例.c`pkg-config--cflags--libs libidn` *美元/ 例子 *编码为“ISO-8859-1”的输入字符串:ª *在locale2utf8之前(长度2):aa 0a *字符串rep之前(长度3):c2 aa 0a *stringprep后(长度2):610a * $ * */ int main(int argc,char*argv[]) { 字符buf[BUFSIZ]; 字符*p; 整数rc,i; printf(“输入字符串编码为“%s”:”, 字符串rep_locale_charset()); fflush(标准输出); fgets(buf、BUFSIZ、stdin); printf(“在locale2utf8之前(长度%d):”,strlen(buf)); 对于(i=0;i<strlen(buf)); i++) 打印(“%02x”,buf[i]&0xFF); printf(“\n”); p=字符串rep_locale_to_utf8(buf); 如果(p) { strcpy(buf,p); 自由(p); } 其他的 printf(“无法将字符串转换为UTF-8,仍在继续…\n”); printf(“在stringprep之前(长度%d):”,strlen(buf)); 对于(i=0;i<strlen(buf)); i++) 打印(“%02x”,buf[i]&0xFF); printf(“\n”); rc=stringprep(buf,BUFSIZ,0,stringprep_nameprep); if(rc!=字符串PREP_OK) printf(“Stringprep失败,rc%d…\n”,rc); 其他的 { printf(“字符串rep(长度%d)之后:”,strlen(buf)); 对于(i=0;i<strlen(buf)); i++) 打印(“%02x”,buf[i]&0xFF); printf(“\n”); } 返回0; }
图书馆2
Libidn2 HTML手册 , 由Texinfo生成 美国石油学会 参考 ,由GTK-DOC生成