Java 言語で文字列のエンコードが一致しているかどうかを判断する方法
Javaでは、次のような方法で文字列エンコードが一致しているかどうかを判断します。
- 指定のエンコーディングで文字列をバイト配列に変換する getBytes メソッドを使用します。
- バイト配列を文字列にnew Stringで変換し、文字エンコードを指定。
- 変換前の文字列と変換後の文字列が等しいかどうかを比較する。
以下にサンプルコードを示します。
import java.nio.charset.Charset;
public class Main {
public static void main(String[] args) {
String str = "测试字符串";
String encoding = "UTF-8";
byte[] bytes = str.getBytes(Charset.forName(encoding)); // 将字符串转换为字节数组
String newStr = new String(bytes, Charset.forName(encoding)); // 将字节数组转换为字符串
boolean isSameEncoding = str.equals(newStr); // 比较原始字符串与转换后的字符串是否相等
System.out.println("编码是否一致: " + isSameEncoding);
}
}
上例では、文字列をバイト配列に変換する際にエンコード方式をUTF-8と指定し、バイト配列を文字列に変換する際にもエンコード方式をUTF-8と指定しました。最後に変換前の文字列と変換後の文字列が等しいかを比較し、文字列のエンコードが一致しているかどうかを判定しています。