【Swift】SwiftでUnicodeエスケープエンコード・デコードの実装メモ

SwiftでUnicodeエスケープシーケンスエンコードとデコードをしたくなったため、実装をメモとして残す。

開発環境

  • Mac OS Big Sur 11.3
  • Xcode ver 12.5
  • Swift ver 5.4

概要

SwiftでUnicodeエスケープシーケンスエンコードとデコードの実装を記載する。

ソースコード

Unicodeエスケープシーケンスエンコード

例)あ → \u3042

func unicodeEncode(beforeText: String) -> String {
    var unicodeEncodedText = ""
    _ = beforeText.decomposedStringWithCanonicalMapping.unicodeScalars.map { scalar in
        unicodeEncodedText += String(format: "\\u%04x", scalar.value)
    }
    return unicodeEncodedText
}

Unicodeエスケープシーケンスデコード

例)\u3042 → あ

func unicodeDecode(beforeText: String) -> String {
    let wI = NSMutableString( string: beforeText )
    CFStringTransform( wI, nil, "Any-Hex/Java" as NSString, true )
    return wI as String
}

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です