START > APPLESCRIPT > Erklδrende Scripts > Dateien mit AppleScript einlesen (Problem Encoding)

Dateien mit AppleScript einlesen
(Problem Encoding)

Um Dateien in Variablen einzulesen, hδlt Applescript den Befehl read bereit, doch hδufig ist das Ergebnis dieses Befehls ernόchternd, da Umlaute, Sonderzeichen etc. nicht mehr korrekt dargestellt werden obwohl in der Ursprungsdatei noch alles in Ordnung war. Das Problem ist, das man es mit unterschiedlichen Encodings der Texte zu tun haben kann.

In dem folgenden Applescript habe ich deshalb mal unterschiedliche Methoden zum Einlesen von Datei-Inhalten fόr die am hδufigsten vorkommenden Encodings zusammengestellt. Mit der entsprechend gewδhlten Methode gelingt es dann eben auch Unix- oder Windows-Dateien korrekt einzulesen, wδhrend der read aus Applescript eigentlich nur mit Mac-Datei-Inhalten (Mac OS Roman) richtig gut klar kommt.

(Siehe auch manpage zum Befehl iconv. Mit iconv -l z.B. bekommt man alle Encodings gelistet, die verwendet werden kφnnen.)

 
-- Datei auswδhlen
set textfile_alias to (choose file)

-- :::::::::::::::::::::::::::::::::  hohabadu.de  :::::::::::::::::::::::::::::::::

-- –––––––––––––––––––––––––––––––––––––––––––––––––––––
-- Mac OS Roman
-- (Version 1 - AppleScript read)
set filecontents to read textfile_alias
-- –––––––––––––––––––––––––––––––––––––––––––––––––––––
-- Mac OS Roman
-- (Version 2 - shell)
set filecontents to do shell script "cat " & ¬
   quoted form of (POSIX path of textfile_alias)
-- –––––––––––––––––––––––––––––––––––––––––––––––––––––
-- Windows Latin1
set filecontents to do shell script "cat " & ¬
   quoted form of (POSIX path of textfile_alias) & " | iconv -f ISO8859-1 -t UTF-8"
-- –––––––––––––––––––––––––––––––––––––––––––––––––––––
-- UTF-8
set filecontents to do shell script "cat " & ¬
   quoted form of (POSIX path of textfile_alias)
-- –––––––––––––––––––––––––––––––––––––––––––––––––––––
-- UTF-16
set filecontents to do shell script "cat " & ¬
   quoted form of (POSIX path of textfile_alias) & " | iconv -f UTF-16 -t UTF-8"
-- –––––––––––––––––––––––––––––––––––––––––––––––––––––
get filecontents


 Im Scripteditor φffnen



Powered By CMSimple Design By NMuD Top