Mã ký tự trong Java là gì | Laptrinhcanban.com

Mã ký tự trong Java là gì

Cùng tìm hiểu về mã ký tự trong Java. Bạn sẽ học được khái niệm mã ký tự trong Java là gì, cách chuyển ký tự sang mã ascii trong Java cũng như cách chuyển từ mã ascii sang ký tự trong Java sau bài học này.

Mã ký tự trong Java là gì

Trong các bài trước chúng ta đã biết, Java là một ngôn ngữ bậc cao và nội dung viết trong đó rất giống với cách viết và suy nghĩ của con người. Tuy nhiên thì trong máy tính chỉ có 2 trạng thái tồn tại đó là có dòng điện chạy quakhông có dòng điện chạy qua, tương ứng với 2 số 01 nên chúng ta cần phải biên dịch chương trình Java cho máy tính hiểu được.

Một cách tương tự, đối với máy tính thì các chữ cái, dấu hoặc chữ số như a, 8, ! mà chúng ta sử dụng trong đời sống hàng ngày đều là ký tự không thể hiểu được. Để máy tính có thể hiểu chúng, con người đã xây dựng những bảng mã ký tự mà trong đó, mỗi ký tự của ngôn ngữ con người sẽ được gán cho một số thứ tự trong bảng mã, và máy tính thay vì đọc ký tự thì sẽ đọc thứ tự của ký tự đó trong bảng mã. Ví dụ như chữ a thì là thứ 1, chữ o thì là thứ 3 chẳng hạn. Và chúng ta gọi các số thứ tự trong bảng mã này theo cách thân mật là mã ký tự trong Java.

Mã ký tự trong Java là gì

Lại nữa, giống như có rất nhiều ngôn ngữ trong thế giới loài người thì trong máy tính cũng tồn tại rất nhiều bảng mã ký tự khác nhau, ví dụ như bảng mã ASCII, UTF-8 hay UTF-16 chẳng hạn.

Và để có thể thống nhất một loại mã ký tự sử dụng thì bảng mã ký tự mặc định được sử dụng trong JavaUnicode (UTF-16).

UTF-16 ( 16-bit Unicode Transformation Format) là một mã hóa ký tự có khả năng mã hóa tất cả 1.112.064 điểm mã ký tự hợp lệ của Unicode (trên thực tế, số điểm mã này được quy định bởi thiết kế của UTF-16). Mã hóa có độ dài thay đổi , vì các điểm mã được mã hóa bằng một hoặc hai đơn vị mã 16 bit.
Nguồn: wikipedia

Bằng cách sử dụng mã ký tự, chúng ta có thể dịch các ký tự hay dùng sang dạng số để máy tính có thể hiểu. Và trong Java thì các số này sẽ ở dạng thập lục phân. Ví dụ:

Mã ký tự của ‘a’ là 0x0061
Mã ký tự của ‘A’ là 0x3042

Chuyển ký tự sang mã ascii trong Java

ASCII là bảng mã ký tự sử dụng các số thập phân từ 0 đến 127 để biểu diễn các ký tự trong bảng chữ cái Latin.

Mặc dù bảng mã ký tự mặc định trong Java không phải là ASCII nhưng chúng ta hoàn toàn có thể chuyển ký tự sang mã ascii trong Java thông qua việc ép kiểu ký tự (char) sang kiểu số nguyên (int), hoặc là sử dụng phương thức cài sẵn.

Chuyển ký tự sang mã ascii bằng cách ép kiểu

Để chuyển ký tự sang mã ascii trong Java, chúng ta có thể ép kiểu từ char sang int của ký tự cần chuyển sang mã ASSCII. Cách làm rất đơn giản, chúng ta ép kiểu ký tự bằng cách gán một ký tự vào một biến int như ví dụ sau đây:

public class Main {
public static void main(String[] args) {
int asciiValue = 'a';
System.out.println("Ma ascii cua 'a': "+asciiValue);
}
}

Kết quả:

Ma ascii cua 'a': 97

Chuyển ký tự sang mã ascii bằng phương thức cài sẵn

Một cách khác để chuyển ký tự sang mã ascii trong Java đó chính là sử dụng tới phương thức cài sẵn là getBytes(StandardCharsets.US_ASCII).

Ví dụ cụ thể:

import java.nio.charset.StandardCharsets;

public class Main {
public static void main(String[] args) {

String s = "b";
byte[] bytes = s.getBytes(StandardCharsets.US_ASCII);
System.out.println("Ma ascii cua '"+s + "': "+ bytes[0]);

}
}

Kết quả:

Ma ascii cua 'b': 98

Chuyển mã ascii sang ký tự trong Java

Ngược lại thì chúng ta cũng có thể chuyển từ mã ascii sang ký tự trong Java. Chúng ta cũng có hai phương pháp đó là ép kiểu số nguyên (int) sang kiểu ký tự (char), và phương pháp sử dụng phương thức có sẵn như dưới đây.

Chuyển mã ascii sang ký tự trong Java bằng cách ép kiểu

Để chuyển mã ascii sang ký tự trong Java, chúng ta có thể ép kiểu từ int sang char của mã ASSCII cần chuyển sang ký tự. Cách làm rất đơn giản, chúng ta ép kiểu int bằng cách sử dụng (char) như ví dụ sau đây:

public class Main {
public static void main(String[] args) {

int asciiValue = 97;

char convertedChar = (char)asciiValue;
System.out.println(convertedChar);

}
}

Kết quả:

a

Sử dụng Character.toString

Một cách khác để chuyển mã ascii sang ký tự trong Java đó chính là sử dụng tới phương thức cài sẵn là Character.toString.

Ví dụ, chúng ta có thể in ra ký tự của mã assci như sau:

public class Main {
public static void main(String[] args) {

int asciiValue = 65;

for(int i = asciiValue; i <= 70; i++){
String convertedChar = Character.toString(i);
System.out.println(i+" => "+convertedChar);
}

}
}

Kết quả:

67 => C
68 => D
69 => E
70 => F

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về mã ký tự trong Java rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo.

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.