web-dev-qa-db-fra.com

Suppression de caractères de nomenclature à l'aide de Java

Ce qui doit arriver à une chaîne en utilisant Java pour être un équivalent de vis

:set nobomb

Supposons que BOM provient du fichier que je lis.

18
James Raitsev

Java ne gère pas correctement la nomenclature. En fait Java gère une nomenclature comme tous les autres caractères.

Trouvé ceci:

http://www.rgagnon.com/javadetails/Java-handle-utf8-file-with-bom.html

public static final String UTF8_BOM = "\uFEFF";

private static String removeUTF8BOM(String s) {
    if (s.startsWith(UTF8_BOM)) {
        s = s.substring(1);
    }
    return s;
}

Peut-être que j'utiliserais Apache IO à la place:

http://commons.Apache.org/proper/commons-io/apidocs/org/Apache/commons/io/input/BOMInputStream.html

50
Christian Kuetbach

Pour UTF-8, la nomenclature est: 0xEF, 0xBB, 0xBF

12
Theresia Sofia Snow