Java字符串String获取指定字符ASCII 码

codePointAt

Java字符串利用codePointAt方法—提取索引字符代码点(ASCII码)。

返回指定索引处的字符( Unicode代码点)。索引引用char值( Unicode代码单元),其范围为0 ~ length-1。
如果给定索引指定的char值属于高代理项范围,则后续索引小于此 String 的长度;
如果后续索引处的char值属于低代理项范围,则返回该代理项对相应的增补代码点。
否则,返回给定索引处的char值。

方法声明

public int code PointAt(int index)

  • 入口参数:index是char的索引值
  • 返回值:在 index处字符的代码点值
  • 抛出异常:IndexOutOfBoundsException(如果 index参数为负或小于此字符串的长度)

方法举例

String str = "Study in mapull";
int result = str.codePointAt(10);

示例代码返回字符串的char数组index位置的元素的ASCII码(int类型),返回a对应的ASCII码97


String str = "在码谱学编程";
int result = str.codePointAt(3);

与之非常类似的一个方法codePointBefore

codePointBefore

返回index位置元素的前一个元素的ASCII码(int型)。索引引用char值( Unicode代码单元),其范围为1~ length。
如果( index-1)处的char值属于高代理项范围,则( index-2)为非负;
如果 index2处的char值属于高代理项范围,则返回该代理项对的增补代码点值。如果 index-1处的char值是未配对的低(高)代理项,则返回代理项值

方法声明

public int code codePointBefore(int index)

  • 入口参数:index是应返回的代码点之后的索引。
  • 返回值:给定索引前面的 Unicode代码点
  • 抛出异常:Index OutofBounds Exception(如果 index参数小于1或大于此字符串的长度)

index不能等于0,0代表第一个字符,它之前没有元素了。

String str = "Study in mapull";
int result = str.codePointBefore(10);

示例代码返回字符串第十个位置a的前一个字符m对应的ASCII码109


String str = "在码谱学编程";
int result = str.codePointBefore(3);