Punycode 2.1.0

Punycode 2.1.0

Gumob DeveloperKojiro Futamura维护。



Punycode 2.1.0

  • 作者:
  • gumob

Carthage compatible Version Platform Build Status codecov Language Language Packagist

PunycodeSwift

PunycodeSwift 是一个纯 Swift 库,允许您使用 String 扩展来通过编码和解码 Punycode 字符串。

什么是 Punycode?

Punycode 是一种使用有限 ASCII 字符集表示 Unicode 的表示形式,该 ASCII 字符集用于互联网主机名。使用 Punycode,包含 Unicode 字符的主机名被转换为一个仅由字母、数字和连字符组成的 ASCII 子集,这称为字母-数字-连字符 (LDH) 子集。例如,München(慕尼黑的德语名称)被编码为 Mnchen-3ya。 (维基百科)

要求

  • iOS 9.3 或更高版本
  • macOS 10.12 或更高版本
  • tvOS 10.2 或更高版本
  • Swift 4.2 或更高版本

安装

Carthage

将以下内容添加到您的Cartfile中,并按照这些说明操作。

github "gumob/PunycodeSwift"          # Latest (Swift 5.0)
github "gumob/PunycodeSwift" ~> 2.0   # Swift 5.0
github "gumob/PunycodeSwift" ~> 1.0   # Swift 4.2

CocoaPods

要将 Punycode 集成到项目中,请将以下内容添加到您的 Podfile

platform :ios, '9.3'
use_frameworks!

pod 'Punycode'             # Latest (Swift 5.0)
pod 'Punycode', '~> 2.0'   # Swift 5.0
pod 'Punycode', '~> 1.0'   # Swift 4.2

用法

编码和解码 IDNA

import Punycode

var sushi: String = "寿司"

sushi = sushi.idnaEncoded!
print(sushi)  // xn--sprr0q

sushi = sushi.idnaDecoded!
print(sushi)  // "寿司"

直接编码和解码 Punycode

import Punycode

var sushi: String = "寿司"

sushi = sushi.punycodeEncoded!
print(sushi)  // sprr0q

sushi = sushi.punycodeDecoded!
print(sushi)  // "寿司"

版权

Punycode 以 MIT 许可证发布,这意味着您可以修改它、重新分发它或以任何您喜欢的任何方式使用它。