Строка slugify java для не английских символов
Мне нужно создать строки слагов (понятные человеку слагы URL из любой строки) для английских и неанглийских символов... например, китайских, японских, кириллических и любых других.
Таким образом, каждая строка (для всех языков) должна быть переведена на английские символы az, 0-9, например java-slugify-string-for-non-english-characters
Как я могу добиться этого в Java?
2 ответа
Вы можете использовать Slugify, который написан на Java: https://github.com/slugify/slugify
Преобразуйте каждый символ в его целочисленное представление и объедините:
String foo = "中国";
StringBuilder result = new StringBuilder();
for (int i=0; i<foo.length(); i++) {
result.append("\\").append((int)foo.charAt(i));
}
System.out.println(result);
Производит:
"\20013\22269"
... который довольно легко разделить и преобразовать обратно в строку. Вы также можете дополнить числа, преобразовать их в шестнадцатеричные и добавить исключения, чтобы символы ASCII/English не конвертировались, если хотите. Вы также можете взглянуть на другие, более стандартные способы выполнения такого рода кодирования.