• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Unicode text mit write ausgeben

Kernelpanik

Maren Nissen
Registriert
05.03.04
Beiträge
2.303
Hallo,
ich versuche mit "write" einen Unicode text auszugeben aber... versucht mal folgendes Beispiel:
Code:
set prempList to "!#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„†‡ˆ‰Š‹ŒŽ‘’“”•¡¢£¤¥¦§¨©ª«¬®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿĀāĂ㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĦħĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľĿŀŁłŃńŅņŇňʼnŊŋŌōŎŏŐőŒœŔŕŖŗŘřŚśŜŝŞşŠšŢţŤťŦŧŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽžſƀƁƂƃƄƅƆƇƈƉƊƋƌƍƎƏƐƑƒƓƔƕƖƗƘƙƚƛƜƝƞƟƠơƢƣƤƥƦƧƨƩƪƫƬƭƮƯưƱƲƳƴƵƶƷƸƹƺƻƼƽƾƿǀǁǂǃDŽDždžLJLjljNJNjnjǍǎǏǐǑǒǓǔǕǖǗǘǙǚǛǜǝǞǟǠǡǢǣǤǥǦǧǨǩǪǫǬǭǮǯǰDZDzdzǴǵǶǷǸǹǺǻǼǽǾǿȀȁȂȃȄȅȆȇȈȉȊȋȌȍȎȏȐȑȒȓȔȕȖȗȘșȚțȜȝȞȟȠȡȢȣȤȥȦȧȨȩȪȫȬȭȮȯȰȱȲȳȴȵȶȷȸȹȺȻȼȽȾȿɀɁɂɃɄɅɆɇɈɉɊɋɌɍɎɏɐɑɒɓɔɕɖɗɘəɚɛɜɝɞɟɠɡɢɣɤɥɦɧɨɩɪɫɬɭɮɯɰɱɲɳɴɵɶɷɸɹɺɻɼɽɾɿʀʁʂʃʄʅʆʇʈʉʊʋʌʍʎʏʐʑʒʓʔʕʖʗʘʙʚʛʜʝʞʟʠʡʢʣʤʥʦʧʨ"

set myLogFile to open for access file ((path to home folder as string) & "Desktop:PassPool.txt") with write permission
write prempList to myLogFile starting at eof as Unicode text
close access myLogFile

Schaut das File "PassPool.txt" auf dem Desktop an. Warum ist der Inhalt dermassen verkruckelt? Ist der "write" Befehl in AppleScript nicht Unicode fähig?
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Unicode Text ist UTF-16, für UTF-8 musst du «class utf8» benutzen.
 
  • Like
Reaktionen: Kernelpanik

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
Oder die Datei mit einem Programm öffnen, das UTF-16 versteht. Zum Beispiel beim Öffnen der Datei mit TextEdit die Codierung UTF-16 auswählen.
 

Kernelpanik

Maren Nissen
Registriert
05.03.04
Beiträge
2.303
Wie kann man Unicode 16 mit AppleScript aufrufen. So wie ich das verstehe ist der Aufruf,
Code:
character ID 74
ein UTF8 Zeichen. Das ist immer noch grosse Verwirrung für mich. Sind im OS mehrere Buchstaben Sets vorhanden? UTF8, UTF16, ASCII? Und je nach Programm wird das eine oder andere benutzt?
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Die Reihenfolge von UTF-8 und UTF-16 ist gleich. Das heisst, wenn du in einer UTF-8 Tabelle das 213. Zeichen (character id 213) raussuchst, findest du das gleiche Zeichen an der gleichen Stelle in der UTF-16 Tabelle. Die Zeichen werden aber anders kodiert. In diesem Wikipedia-Artikel gibt es ein paar Beispiele, wie sich die Kodierung unterscheidet: https://de.wikipedia.org/wiki/Unicode_Transformation_Format

Unicode Text wird in AppleScript immer UTF-16 kodiert (seit AppleScript 2.0), normaler Text in der in den Systemeinstellungen festgelegten Kodierung (für USA/EU ist das MacRoman) und «class utf8» logischerweise in UTF-8. Die ersten 128 Zeichen entsprechen übrigens bei allen 3 Kodierungen dem ASCII-Standardsatz, deshalb tritt dein Problem nur bei Sonderzeichen auf.
 

Kernelpanik

Maren Nissen
Registriert
05.03.04
Beiträge
2.303
So wie ich das verstehe gibt es eine grosse Datenbank (Unicode) wo alle Zeichensätze gespeichert sind. Ein grosser Pool sozusagen. Dort wird dann mit verschiedenen Techniken , UTF8, ASCII, usw. darauf zugegriffen.
Oder ist ASCII eine anderer Pool von Zeichen als Unicode?
 

MacApple

Schöner von Bath
Registriert
05.01.04
Beiträge
3.652
So wie ich das verstehe gibt es eine grosse Datenbank (Unicode) wo alle Zeichensätze gespeichert sind.
Nein, Unicode ist eine definierte Zuordnung von Zahlen zu Zeichen. Genauso, wie ASCII, ISO-Latin-1, etc.
Unicode ist dabei die umfangreichste Zuordnungstabelle, Unicode hat das Ziel, die ganzen anderen, inkompatiblen Code Tabellen abzulösen, um eben das Problem mit der Codierung von Text unabhängig von der Plattform, von dem Programm und der Sprache zu lösen.

Dort wird dann mit verschiedenen Techniken , UTF8, ASCII, usw. darauf zugegriffen.
Das sind keine Techniken. ASCII ist wie gesagt genauso eine Zuordungstabelle, wie Unicode, nur wesentlich kürzer. ASCII verwendet nur sieben Bit, Unicode aktuell 21 Bit.

UTF-8 (UTF-16, UTF-32) ist etwas Anderes. Das Unicode Transformation Format ist eine Methode, um Unicode Code Points in 8, 16 oder 32 Bit Darstellungen zu transformieren (und zurück natürlich auch).

Alles zu Unicode findest du hier.
 
  • Like
Reaktionen: doc_holleday