我有一个文件(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,文本中包含一些特殊字符,比如á ,é,ñ...我想改变这些特殊字符的其他字符►,☼,◄ 问候 –