Character.digit()的含义及用法

本文介绍了Java中Character.digit()方法的使用,该方法根据指定的基数将字符转换为数值。内容包括方法的参数解释、返回值说明,以及在实际场景中,如将16进制字符串转换为byte数组时的应用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在搜NFC的时候,无意中发现了这个方法,之前开发中一直没有遇到过,感觉很 好奇.

ava.lang.Character.digit()方法用法实例教程-在指定的基数返回字符ch的数值。

java.lang.Character.digit(char ch, int radix)方法 在指定的基数返回字符ch的数值。

如果基数是不在范围内MIN_RADIX≤基数≤MAX_RADIX或如果该值的通道是不是一个有效的数字在指定的基数-1,则返回。以下是如果至少有一个字符是一个有效的数字:

  • 方法isDigit为true的字符和Unicode字符的十进制数值(或分解的单字符)小于指定的基数。在这种情况下的十进制数字值被返回。

  • 该字符是一个大写拉丁字母'A'到'Z'和它的代码是小于基数+'A' - 10。在这种情况下,ch - 'A'+10返回。

  • 字符的小写拉丁字母'a'到'z'和它的代码小于radix+'A' - 10。在这种情况下,ch - 'a'+10返回。

  • 字符是一个全角大写拉丁字母A('\ uFF21')到Z('\ uFF3A“)和它的代码小于radix+'\ uFF21” - 10。在这种情况下,ch - '\ uFF21'+ 10返回。

  • 该字符是一个小写拉丁字母的全角('\ uFF41')到Z('\ uFF5A“),且它的代码小于radix+'\ uFF41” - 10。在这种情况下,ch - '\ uFF41'+10返回。



以下是java.lang.Character.digit()方法的声明
public
static int digit(char ch, int radix)

其中:

1.ch - the character to be converted(要转换的字符)

2.radix - the radix(基数)

返回值

此方法返回由指定基数中的字符表示的数值。

异常:NA

运用的实际场合,有把一个拼接的16进制的String nfc 帧格式,转化为byte[]数组,需要没两位作为一个byte 计算出他的对应的byte值.

 public byte[] stringToBytes(String s) {
    	int len = s.length();
    	byte[] data = new byte[len / 2];
    	for (int i = 0; i < len; i += 2) {
    		data[(i / 2)] = ((byte) ((Character.digit(s.charAt(i), 16) << 4) + Character
    				.digit(s.charAt(i + 1), 16)));
    	}
    	return data;
    }
参考文档:
1.http://www.tuicool.com/articles/JzIfYza




评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值