GNU Libidn是Stringprep,Punycode和IDNA 2003规范的完整记录的实现。Libidn的目的是对国际化域名进行编码和解码。本地C,C#和Java库在GNU通用通用公共许可证版本2.1或更高版本下可用。

请注意,GNU libidn2 是GNU libidn的后继者。它带有IDNA 2008和TR46实现,还为GNU libidn提供了一个兼容性层。

该库包含通用的Stringprep实现。包括Nameprep,iSCSI,SASL,XMPP和Kerberos V5的配置文件。支持通过IDNA进行Punycode和ASCII兼容编码(ACE)。包括定义顶级域(TLD)特定验证表以及将字符串与这些表进行比较的机制。还包括一些TLD的默认表。

Stringprep API包含两个主要功能,一个用于将数据从系统的本机表示形式转换为UTF-8,另一个用于执行Stringprep处理。在API中为您的应用程序添加新的Stringprep配置文件非常简单。Punycode API由一种编码功能和一种解码功能组成。IDNA API由ToASCII和ToUnicode函数以及一个用于将整个域名与ACE编码形式相互转换的高级接口组成。TLD API包括一组从域字符串中提取TLD名称的函数,一组用于根据TLD名称定位要使用的正确TLD表的函数以及一组针对TLD表验证字符串的核心函数,以及一些实用程序包装程序可以在一个调用中执行所有步骤。

例如,GNU SASL和Shishi使用该库来处理用户名和密码。Libidn可以内置到GNU Libc中,以为IDN处理启用新的系统范围的getaddrinfo标志。

Libidn是为GNU / Linux系统开发的,但是可以在20多个Unix平台(包括Solaris,IRIX,AIX和Tru64)和Windows上运行。该库是用C编写的,API(的一部分)也可以从C ++,Emacs Lisp,Python和Java访问。包含本机Java和C#端口。

还包括一个命令行工具,一些自检,代码示例等,所有这些工具均已获得GNU通用公共许可证3.0版或更高版本的许可。

Libidn 简介 对国际化域名进行编码和解码相关推荐

  1. 手机号码转码_中文域名转码,中文域名PunyCode编码转换,中文域名在线转码工具,Punycode编码在线转换工具...

    中文域名分为两类: 1.一类是域名后缀为英文字母的国际中文域名和别国中文域名,比如:中文.com,中文.net,中文.biz,中文.cc,中文.hk,中文.tm,中文.tv,中文.tw: 2.一类是域 ...

  2. 国际化域名 idn linux,国际化域名(IDN)

    1) 什么是国际化域名 (IDN)? 国际化域名(IDN) 是使用本地语言字符或非英语语言例如中文,日文,韩文,丹麦文,德文的域名或是网址. 2) WebNIC提供哪几种国际化域名 (IDN)? We ...

  3. 国际化域名 idn linux,CLUB中文国际化域名(IDN)9月开放注册

    [IT168 资讯]2016年9月6日,.CLUB顶级域名将正式对外开放中文IDN域名的注册.IDN的中文被译作国际化域名,简单的来说,使用者可以使用中文字符加上.CLUB域名后缀作为网站网址..CL ...

  4. 【转】python 字符编码与解码——unicode、str和中文:UnicodeDecodeError: 'ascii' codec can't decode...

    原文网址:http://blog.csdn.net/trochiluses/article/details/16825269 摘要:在进行python脚本的编写时,如果我们用python来处理网页数据 ...

  5. Go语言 Yaml编码和解码

    介绍 YAML Ain't Markup Language,一种非常简介的非标记语言,可以快速的对Yaml进行编码和解码. 官网地址:https://gopkg.in/yaml.v2 GoDoc:ht ...

  6. python2发送http不编码_[转]Python 2.x中常见字符编码和解码方面的错误及其解决办法...

    Python 2.x中的字符编码,设计的的确不好,导致初学者,甚至是即使用Python很长时间的人,都会经常遇到字符编解码方面的错误. 下面就把一些常见情,尽量的都整理出来,并给出相应的解决办法. 看 ...

  7. Python的编码与解码

    转自: http://www.cnblogs.com/huxi/archive/2010/12/05/1897271.html 一. 字符编码简介 1.1. ASCII ASCII(American  ...

  8. lua处理url编码与解码

    参考 lua urlencode urldecode URL encoding(Others-Community)https://titanwolf.org/Network/Articles/Arti ...

  9. Python学习笔记(6):JSON的编码和解码

    简介 JSON是一种轻量级的数据交换格式,它具有格式简单,易于读写,易于解析等优点.wiki中是这样定义JSON的: In computing, JavaScript Object Notation ...

最新文章

  1. php可以实现响应式吗,怎么实现Vue数据响应式
  2. js 判断手机横竖屏的实现方法(不依赖任何其他库)
  3. python界面开发-python 图形界面编程(GUI)
  4. ubuntu vsftp安装
  5. 用forif循环测量minst0-6的特征迭代次数曲线
  6. c++ 反射_Java代码审计基础之反射
  7. 互联网数据分析-入门到实战-笔记
  8. 手机联系人分组名字都没了_艺术签名手写设计,每个名字都应该是精品,只是你没找对方法...
  9. fluent二维叶型仿真_FLUENT太阳能热水器仿真
  10. 2022你不容错过的软件测试项目实战(web+app+h5+小程序)免费版
  11. matlab仿真PID,使用simulink笔记,暨入门教程
  12. opencv的RGB 颜色表
  13. Rokid webhook 五步应用指南 手把手教你做个懒人
  14. 兵临城下 (深度搜索)
  15. 网页调用迅雷的JS(支持客户端版和网页版)
  16. 每天一篇论文 323/365 Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning
  17. 96分布式电商项目 - 项目部署
  18. Qt边框border概述
  19. NLP学习笔记-FastText文本分类(四)
  20. Lgx 的 Unity Tips(2018.6-2018.12)

热门文章

  1. etcd — 操作手册
  2. C 语言编程 — 宏定义与预处理器指令
  3. 全球可持续发展标准化城市联盟首个海外会议基地落户杭州
  4. 【TensorFlow系列】【五】利用inception v3 pb模型文件做预测
  5. 专访东软杨纪文:深入业务做好移动安全防护
  6. 简约设计中的规律—色彩(二)
  7. Maven学习(八)继承和聚合
  8. 通过图形界面配置Exchange2010 DAG
  9. CPU步进号(版本号)
  10. 数据库的这些性能优化,你做了吗?