Swift代码库之中文简体与繁体转换

原来以为简体与繁体转换挺难实现的,后来看了GBig代码后才恍然大悟。其实非常简单就是对表查询。准备一个简体字符串,准备一个繁体字符串。

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        
        print(GBig.gb.utf8.count)
        print("東加拿大".gb)
        print("东加拿大".big5)
        // Do any additional setup after loading the view.
    }


}

程序源代码

 public static func simplify(_ ch: String) -> String {
    return String(ch.map { c in
      if let i = big5.index(of: c) {
        return gb[i]
      } else {
        return c
      }
    })
  }
  public static func traditionalize(_ ch: String) -> String {
    return String(ch.map { c in
      if let i = gb.index(of: c) {
        return big5[i]
      } else {
        return c
      }
    })
  }
}

public extension String {
  public var big5: String {
    return GBig.traditionalize(self)
  }
  public var gb: String {
    return GBig.simplify(self)
  }
}

代码下载

https://github.com/zhishidapang/GBig

往期精彩

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 最近在做汉语查询功能,发现单一搜索很多时候会搜索不到任何内容。突然想到可能简体与繁体问题 简体与繁体转换请参考下文...
    iCloudEnd阅读 3,998评论 0 1
  • 身旁是川流不息的车辆, 擦肩各路行人, 看过无数亲昵情侣。 而我, 是黑夜的独行者。 那你,也是吗? 你又看过谁,...
    雪碧很犯二阅读 1,202评论 0 2
  • 真实案例: 豆豆,3岁1个月,会基本生活自理、在家挑食。入园后首周分离焦虑并不强烈,但放学回家后出现粘人、行为倒退...
    kiko_5205阅读 3,633评论 1 1
  • 其实你看,就算生活遇到了一些不尽人意的事,你失落过、颓丧过,甚至因此度过了一段自甘堕落的时光,可最后,你依然...
    半幅盛唐阅读 1,625评论 0 2
  • 陪岩哥出来之前内心还是抗拒的,不太想出来,想宅在家里,可是宅在家里的结局已然可以想到,那就是刷一下午电视剧,困了就...
    SunnyDong0417阅读 1,267评论 0 1