• Scala中文unicode互转


    1. // 中文符号对应的十进制
    2. val single = Seq(12290,65311,65281,65292,12289,65307,65306,12300,12301,12302,12303,8216,8217,8220,8221,65288,65289,12308,12309,12304,12305,8212,8230,8211,65294,12298,12299,12296,12297,12288)
    3. val code = """ Aa,,《"test"》“悄中文""".map{c =>
    4. val code = Integer.toHexString(c) // 转unicode
    5. if (c >= Integer.parseInt("4e00", 16) && c <= Integer.parseInt("9fa5", 16) || single.contains(c)) s"\\u$code" else c
    6. }
    7. // unicode转中文
    8. val char = code.map{c => if (c.toString.startsWith("\\u")) Integer.parseInt(c.toString.substring(2), 16).toChar else c}
    9. val res = code.mkString
    10. println(res)
    11. println(char.map(_.toString).mkString)

    名称

    Unicode(0x)

    符号

    10进制

    句号

    3002

    12290

    问号

    FF1F

    65311

    叹号

    F01

    65281

    逗号

    FF0C

     

    65292

    顿号

    3001

    12289

    分号

    FF1B

    65307

    冒号

    FF1A

    65306

    引号

    300C

    12300

    300D

    12301

    引号

    300E

    12302

    300F

    12303

    引号

    2018

    8216

    2019

    8217

    引号

    201C

    8220

    201D

    8221

    括号

    FF08

    65288

    FF09

    65289

    括号

    3014

    12308

    3015

    12309

    括号

    3010

    12304

    3011

    12305

    破折

    2014

    8212

    省略

    2026

    8230

    连接

    2013

    8211

    间隔

    FF0E

    65294

    书名

    300A

    12298

    300B

     

    12299

    书名

    3008

    12296

    3009

     

    12297

    空格

    3000

     

    12288

  • 相关阅读:
    回顾封装、继承和多态的概念,并给出相关示例
    docker install consul
    高通Android 12 aapt报错问题踩坑
    在 Streamlit 中使用自定义 CSS 创建加密仪表板
    Rockland丨Rockland HCP抗体开发流程
    翻译: Github Copilot 可以创作艺术吗?
    设计模式——策略模式
    README
    c语言指针运算
    Gradle简单配置
  • 原文地址:https://blog.csdn.net/anitinaj/article/details/136299785