Android中的羊角符

news/2024/11/17 21:17:07/

简介

 人民币羊角符是现在APP常使用的符号,有人会问,这个符号不是很简单吗?键盘结合输入法一敲就有了啊!当然,问题不会这么简单。为什么强调“人民币”三个字呢?因为日元也是用羊角符,并且两者长得非常相似!我想问一下APP开发的码农们,你们用的人民币羊角符对吗?

两种羊角符

百度百科中给了如下羊角符定义:

  人民币符号为:¥。书写顺序为:先写大写字母“Y”,再在竖划上加上二横,即为“¥”,读音为:yuán(音:元)。

百度百科日元羊角符描述:

日圆(円),又称作日元,其纸币称为日本银行券,是日本的官方货币,于1871年制定。日圆也经常在美元和欧元之后被当作储备货币。货币符号“¥”,国际标准化组织ISO4217订定其标准代号为JPY。日语罗马字写作Yen。

从定义上看,人民币羊角符和日元羊角符长得是一样的,在手写的时候不会区别对待,但是作为两种不同货币的符号,在计算机的世界中肯定需要区别!那么问题来了:

1、我们键盘直接敲出来的是中文羊角符还是日文羊角符?
2、另外一个羊角符长什么样?
3、怎样获取?

区分人民币和日元羊角符

我们将讨论人民币羊角符和日元羊角符的区分,现在我们有两种羊角符分别是键盘敲击出来的羊角符¥,另一个羊角符¥。两个羊角符在word、java代码和Android、IOS手机中表现稍有区别。为了区分,键盘敲击的羊角符¥设为A,另一个¥设为B。

1、金投网文章

金投网有一篇专门的文章,介绍了人民币羊角符和日元羊角符的区别,人民币羊角符号:人民币应该是¥,¥是日元

2、键盘和搜狗输入法

中文和日文很多符号本身是一样的,所以打印符号是中文还是日文其实很难分清,键盘的羊角符符号是A;但是,如果你用搜狗输入法,当输入“renminbi”时,会出现羊角符符号B。

3、从在word、代码、手机中视觉来看

(1)java代码中 这里写图片描述

(2)Word 2010中这里写图片描述

(3)华为P7 EMUI P7-L07系统中这里写图片描述

(4)小米2s MUI7 7.2.5.0系统中这里写图片描述

我们可以看到在word和两款Android操作系统中,两个羊角符差别明显,A只有一个横,B有两个横!!按照人民币羊角符的定义,B应该符合标准。如果Android手机中使用A羊角符,很肯能只出现一个横!如果开发人员两个符号都用…… 那界面定会不协调统一!

4、这两个羊角符的编码到底是多少?Java中货币类Currency给出的结果是什么?

首先确定系统编码:

System.out.println(Charset.defaultCharset());  结果:UTF-8
      System.out.println((int)'¥'); A结果:165System.out.println((int)'¥');  B结果:65509
println(Currency.getInstance(Locale.CHINA).getSymbol()); 结果:¥(B)println(Currency.getInstance(Locale.JAPAN).getSymbol());结果:JPY

到这,我想各位也糊涂了,我写到这时也快疯掉了,搞不清哪一个是人民币符号!

5、去查UTF-8表!

(1)首先确定两个羊角符编码:

这里写图片描述
这里写图片描述
从查询结果可以看出,java代码打印的结果没问题,A的10进制为65509 16进制为FFE5,B的羊角符为165 16进制为A5。

(2) 查询UTF-8表:

A:
这里写图片描述

B:
这里写图片描述

Yen sign表示的意思是日元符号!按照UTF-8的解释,两个都是日元羊角符!!!!A是全角,B是半角!!!但是我用搜狗输入法全角、半角打印的结果都是A,也许是输入法的问题,但是无论如何,她两个区别终于解开了。

总结

折腾了这么久,我查询了GBK的编码表,用到的羊角符是A,其实这也没多大必要了,特别在APP开发时,只能用系统提供的符号库。其实人民币符号和日元符号本身就长一样,在计算机系统中我们的GBK定义了自己的符号,但是和utf-8是一样的,所以我们取到的还是utf-8提供的羊角符。
对于APP开发,特别是Android APP开发的工程师还是要注意这个问题,因为不同Android系统的字符库有很大区别,A类羊角符(全角)很可能是一横,但是我们人民币符号定义是两横,所以建议使用B类羊角符(半角),不会出现大问题。如果表示日元的话,可在前面加上JPY,用来区分。如果需要规范使用货币符号的话,可以使用Currency,像前面的例子那样,不过这样获取的羊角符是A类羊角符。

    Currency.getInstance(Locale.CHINA).getSymbol()

参考文献

1、百度百科,人民币符 http://baike.baidu.com/view/654291.htm
2、百度百科,日元 http://baike.baidu.com/view/68875.htm
3、金投网,人民币羊角符 http://forex.cngold.org/school/c3122068.html
4、utf-8编码表和编码说明 http://www.utf8-chartable.de/


http://www.ppmy.cn/news/687129.html

相关文章

007+limou+C语言基础排序算法(上)

0.前言 您好这里是limou3434的一篇博文,感兴趣可以看看我的其他内容。 排序算法简单理解就是:一串数组经过排序算法后得到有序的数组。排序算法在不同应用场景有不同的效果,因此我们有必要了解一些基础的排序算法。 而本次我给您带来的是一…

在 javascript 中构建字符串

文章目录 在 JavaScript 中构建字符串在 JavaScript 中使用 和 concat() 构建字符串在 JavaScript 中使用 push() 和 join() 构建字符串 本文将通过不同的代码示例讨论使用连接运算符和 JavaScript 中的一些内置方法生成或构建字符串。 在 JavaScript 中构建字符串 要在 Java…

上手有毒 前方高能北通K1手游机械键盘测评体验

​ ​ 前言 话说在连续NNN天后,终于第一次在360试用平台中签,那个心情万分激动(害我晚上回去买了彩票,至于结果大家都知道了),这次也好好的看了一下北通,这是北通第一款手游机械键盘&#xf…

北通 战戟 BTP-2118

今天上午和文兄,带鱼,玉鹏一起去新大地配新机箱,顺路,花80大洋购入 北通 战戟 BTP-2118 一块,白色,左边的按键比较硬,非常满意,开极品时不会过于灵敏,之前看到的几款&am…

ubuntu/linux 北通无线游戏手柄不识别

1.现象 1.开发板无法识别北通无线游戏手柄 北通蝙蝠BD2A无线游戏手柄 lsusb Bus 007 Device 003: ID 045e:028e Microsoft Corp. Xbox360 Controller ls /dev/input by-id by-path event0 event1 event2 event3 event4 event5 event6 没有识别到js0设备 2.ubuntu系统可以到…

Python小波包特征提取能量熵

Python小波包特征提取能量熵 小波包分析是一种基于小波函数的信号分析方法,在特征提取中有着广泛的应用。能量熵是小波包分析中一种常用的特征参数,用于描述信号分布的集中性程度。本文将介绍Python中如何使用小波包进行特征提取,并计算能量…

获取Layui iframe页面的url参数

弹出layui iframe页面 layer.open({type: 2, // iframe层skin: layer-ext-blue,title: 弹出窗口,content: "click?hrefcatalogConfig/addCatalog?param1" param1 "&param2" param2, // 弹出的iframe页面地址catalogConfig/addCatalogarea: [1224…

MC起床战争

1.02更新&#xff1a;增加弓箭、死斗模式。&#xff08;提前声明&#xff1a;本版本超吃配置&#xff0c;请确保使用时电脑不烫&#xff09; 代码 #include<algorithm> #include<fstream> #include<iostream> #include<stdio.h> #include<cstdio&…