Hallo,
ich möchte die Sonderzeichen einer ldif-Datei für den Import in ein LDAP-Verzeichnis konvertieren. Die Zeichen müssen dazu mit Base64 encoded werden, dazu verwende ich org.apache.commons.codec.binary.Base64:
Wenn ich der Methode "mozillaHomeLocalityName: Göttingen" übergebe, erhalte ich als Ausgabe:
Beim Importieren in ldap bekomme ich mit dieser neuen Zeile einen Fehler.
Der Abgleich mit http://aktuell.de.selfhtml.org/artikel/javascript/utf8b64/end.htm liefert mir "R8O2dHRpbmdlbg==" als Ergebnis. Mit diesem String funktioniert auch der ldap-Import.
Wo liegt der Fehler in meinem Code?
Danke vorab
smo
ich möchte die Sonderzeichen einer ldif-Datei für den Import in ein LDAP-Verzeichnis konvertieren. Die Zeichen müssen dazu mit Base64 encoded werden, dazu verwende ich org.apache.commons.codec.binary.Base64:
Code:
private static String encodeSpecialCharsWithBase64(String line)
{
String encodedLine = null;
if (line != null)
{
int colonPos = line.indexOf(':');
encodedLine = line.substring(0, colonPos) + ":: ";
String encodeString = line.substring(colonPos+2).trim();
System.out.println(encodeString);
byte [] encodeBytes = encodeString.getBytes();
byte [] encodedBytes = Base64.encodeBase64(encodeBytes);
encodedLine += new String(encodedBytes);
System.out.println(encodedLine);
}
return encodedLine;
}
Wenn ich der Methode "mozillaHomeLocalityName: Göttingen" übergebe, erhalte ich als Ausgabe:
Code:
Göttingen
mozillaHomeLocalityName:: R/Z0dGluZ2Vu
Beim Importieren in ldap bekomme ich mit dieser neuen Zeile einen Fehler.
Code:
ldap_add: Invalid syntax (21)
additional info: mozillaHomeLocalityName: value #0 invalid per syntax
Wo liegt der Fehler in meinem Code?
Danke vorab
smo