Quello che il java equivalente di javascript di:Qual è l'equivalente java di string.fromCharCode di javascript?
String.fromCharCode(n1, n2, ..., nX)
http://www.w3schools.com/jsref/jsref_fromCharCode.asp
Quello che il java equivalente di javascript di:Qual è l'equivalente java di string.fromCharCode di javascript?
String.fromCharCode(n1, n2, ..., nX)
http://www.w3schools.com/jsref/jsref_fromCharCode.asp
Che sarebbe qualcosa come le seguenti:
public static String fromCharCode(int... codePoints) {
StringBuilder builder = new StringBuilder(codePoints.length);
for (int codePoint : codePoints) {
builder.append(Character.toChars(codePoint));
}
return builder.toString();
}
Si noti che la fusione a char
non è garantito a lavorare perché la il valore del punto di codice potrebbe superare il limite superiore di char
(65535). Il char
è stato creato nelle epoche scure di Java quando lo Unicode 3.1 non era ancora uscito e supera i 65535 caratteri.
Aggiornamento: il String
ha effettivamente a constructor taking an int[]
(introdotto dal Java 1.5, non si sapeva che dalla parte superiore della testa), che gestisce in modo corretto questo problema. Quanto sopra potrebbe essere semplificata come segue:
public static String fromCharCode(int... codePoints) {
return new String(codePoints, 0, codePoints.length);
}
+1 per la perfezione Unicode, ma dubito che la funzione JavaScript può gestire correttamente Codepoints più grande di 65536. –
Questo sembra funzionare per la maggior parte valori. Sto cercando: new String (new int [] {141}, 0, 1) che in javascript stampa, "?" ma in Java no. 141 è valido? Sto cercando di eseguire il debug di un codice di offuscamento che ho portato da Javascript a Java e sto ottenendo risultati incoerenti per alcuni personaggi. – jon077
Dipende dalla codifica dei caratteri che è una storia completamente diversa. L'ambiente JS utilizza apparentemente una diversa codifica dei caratteri rispetto all'ambiente Java. Almeno, quanto sopra dovrebbe funzionare perfettamente per una codifica di caratteri Unicode come UTF-8. – BalusC
http://w3fools.com/ – oezi