我有一個文件(prueba.txt),我想用0x14代替ascii字符0xE1(á),0xE9(é)代表0x16,0xF3(ó)代表0x16 ...在字符串中是可能與String.replace()
但它是一個字符。Java替換ascii字符
import java.io.File;
import java.util.Scanner;
public class Reemplazar {
public static void main(String[] args) throws Exception {
Scanner archivo = new Scanner(new File("prueba.txt"));
while(archivo.hasNextLine()) {
String frase = archivo.nextLine();
for (int i = 0; i < frase.length(); i++) {
char current = frase.charAt(i);
if (current == 0xe1) {
System.out.println("contiene la á: '"+frase+"'");
}
if (current == 0xe9) {
System.out.println("contiene es la é: '"+frase+"'");
}
}
}
}
}
我想這個代碼大爲改善,但...
問候。
什麼是字符集和文本文件的編碼?你的ASCII的提及混淆,以及您的UTF-16代碼單元的格式。爲什麼不把它們寫成'\ u00e1'或'á'?所有的Java String和char都是UTF-16。 –
是真的有點混亂,對不起,編碼是ANSI,文本中包含一些特殊字符,比如á ,é,ñ...我想改變這些特殊字符的其他字符►,☼,◄ 問候 –