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

前言

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

目前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万多个字符,几乎可以包含世界上的常用语言和文字,还有更多的使用场景等待我们去发现。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值