前言

日常开发中,有时候会遇到特殊字符的显示,比如数学符号、罗马字符、特殊单位等等。常见的字符可以直接输入,但是比如次幂、微分、积分、化学方程式等等无法直接输入。

目前string.xml中支持直接输入外,还可以使用ASCII码来表示。但是ASCII码常用的也就几百个字符,远远无法满足特殊字符的需求。在翻阅了Android官方关于String的说明后,发现String还支持Unicode码,所以可以考虑使用Unicode码来展示特殊字符。

Unicode编码则是采用双字节16位来进行编号,可编65536字符,基本上包含了世界上所有的语言字符,它也就成为了全世界一种通用的编码,而且用十六进制4位表示一个编码,非常简结直观,为大多数开发者所接受,特别是十六进制编码后,可以解决汉字在js再编码过程中出现乱码问题,提高解释速度,我们建议在js脚本中使用十六进制unicode编码。

应用

在这里举几个例子来展示:

  1. 次幂
string.xml
<string name="unit_ten_12_l" formatted="false">×10\u00B9\u00B2/L</string>

表示为 x10^12/L 。 即10的12次方每升,如下所示

  1. 化学方程式

二氧化碳 一般表示为CO2

在代码中如下表示

string.xml<string name="co2" formatted="false">CO\u2082</string>

预览如下所示

  1. 段落小标题

段落为了增加层次,会添加小标题来区分,这种要么切图,要么使用drawable实现

string.xml
<string name="title_01" formatted="false">\u2780</string>

预览如下所示

  1. 罗马数字

有时候会使用罗马数字来作为段落标题,表示123,显示为 Ⅰ、Ⅱ、Ⅲ

string.xml
<string name="title_01" formatted="false">\u2160 \u2161 \u2162 \u2163</string>

预览如下所示

总结

这里只是举了几个例子来展示,Unicode码有6万多个字符,几乎可以包含世界上的常用语言和文字,还有更多的使用场景等待我们去发现。

关于Android应用中特殊字符的显示相关推荐

  1. 将uni-app打包的H5放在 Android程序中在 webview 显示的两种方法

    将uni-app打包的H5放在 Android程序中在 webview 显示的两种方法 前言 Hash History 完事 前言 之前有个项目要同时做小程序和APP,本着节省时间的想法,研究了下un ...

  2. HT中特殊字符φ的显示问题

    HT中特殊字符φ如下才能正常显示 <text mode="1" size="1" x="1" y="9">名 ...

  3. Android手机中“本地号码”显示为“未知”的解决方法

    在android手机开发中有时要获取手机号,在较老的SIM卡中移动运营商会把号码默认写入到SIM卡中,但新的SIM卡往往空着.要想获取手机号必须手动设置到SIM卡中.智能手机android系统中&qu ...

  4. android来电显示,在Android 9中获取来电显示

    我一直在BroadcastReceiver中使用以下代码来获取 来电的来电显示: @Override public void onReceive(Context aContext, Intent aI ...

  5. Android studio中全屏显示

    android中设置全屏显示的方法## 标题 在MainActivity中添加如下代码 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FUL ...

  6. 使用Android stdio中的Webview显示网页时提示net::err_access_denied是为什么?

    已经解决,方法是在webview中加入如下代码 //解决网页不显示的代码webview.setWebViewClient(new WebViewClient() {@Overridepublic bo ...

  7. Android开发中Edittext设置密码显示隐藏的多种方法

    第一种方法: editText= (EditText) findViewById(R.id.password); button= (Button) findViewById(R.id.change); ...

  8. Android系统中设置TextView的行间距

    Android系统中TextView默认显示中文时会比较紧凑,不是很美观.为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra或android:lineSpacin ...

  9. 【Android 逆向】arm 汇编 ( 使用 IDA 解析 arm 架构的动态库文件 | 使用 IDA 打开 arm 动态库文件 | 切换 IDA 中汇编代码显示样式 )

    文章目录 一.使用 IDA 打开 arm 动态库文件 二.切换 IDA 中汇编代码显示样式 一.使用 IDA 打开 arm 动态库文件 分析 Android SDK 中的 arm 架构的动态库 , 动 ...

最新文章

  1. OCP12C题库,62数据库备份与恢复(admin,install and upgrade accelerated, backup and recovery workshop -62)(新增)
  2. 【报表技术】IReport 图形化报表开发工具安装教程
  3. 手把手教你python实现量价形态选股知乎_【手把手教你】Python实现基于事件驱动的量化回测...
  4. phpredisadmin common.inc.php,phpRedisAdmin安装
  5. linux编译blas,Linux下安装BLAS,CBLAS,LAPACK
  6. java非必填字段跳过校验,avalon2表单验证,非必填字段在不填写的时候不能通过验证...
  7. stream去重_重复数据如何处理?List集合去重的四种方式
  8. 贪心算法 0-1背包c语言,贪心算法0-1背包问题(算法实验代码).pdf
  9. 信息学奥数一本通(1004:字符三角形)
  10. alternative php cache semaphore,如何正确使用PHP5信号灯?
  11. 一文解释NDP协议(IPv6邻居发现协议)ICMPv6
  12. Vlfeat (Matlab安装)
  13. 范浩强treap——可持久化
  14. 工业以太网通讯Profinet协议详解
  15. 指数函数曲线拟合问题c语言,求助用指数函数拟合一组数据
  16. 单片机电流检测电路图大全(四款模拟电路设计原理图详解) - 信号处理电子电路图
  17. “燕云十六将”之橙子刘龙静
  18. 一维数组与对象深拷贝的几种方法(指数组、对象中均无嵌套)
  19. Project 视频 来啦
  20. uni-app 实现瀑布流 最简洁方案

热门文章

  1. Dapper--Google生产环境下的分布式跟踪系统
  2. DDoS防御8大招,教你怎么样防御DDOS攻击
  3. 小米八android耗电比例很大,小米手机电量消耗越来越快了,输入这几个数字,续航强劲如新机...
  4. 小程序横屏竖屏切换监听
  5. 【小米2018-09-20在线笔试】小米大礼包
  6. 某店私信Websocket分析学习
  7. 如何查看IEDA到期时间
  8. 程序员最后一款笔记软件:Notion
  9. 室内停车场地图怎么画,可以显示停车位的地图有哪些
  10. 小爱同学控制美的美居中的家电热水器,空调等