Строка 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 не конвертировались, если хотите. Вы также можете взглянуть на другие, более стандартные способы выполнения такого рода кодирования.

Другие вопросы по тегам