Thread Encoding - Wie funktioniert das?
(16 answers)
Opened by giordano at 2013-12-04 11:11
Hallo,
Ich habe mich durchgelesen ins encoding und konnte für mein Problem keine Lösung finden. Ich muss auch gestehen, dass ich das nicht trivial finde und eigentlich immer noch nicht verstehe. Grundsätzlich möchte ich die ersten 100 Zeilen eines xml files, das angeblich mit utf-16 codiert ist, herauslesen. Grund: das File ist zu gross und ich möchte Einblick in die ersten Zeile erhalten. Den Code den ich verwende: Code: (dl
)
1 use warnings; Ich habe die verschiedenen Szenarien durchgespielt, weil mir nicht klar ist, wie wo was codiert ist. Hier die Resultate: ------------------------------ x.xml-file: <?xml version="1.0" encoding="utf-16"?> <meldung><konsultation><konsdate>2010-03-17</konsdate><patid>11205</patid><patyear>1970</patyear><patgender>male</patgender><arzt>7601000238436</arzt><diagnose><icpc>P06</icpc></diagnose></konsul ..... -- (1) -- print OUTPUT $_; output: 㰿硭氠癥牳楯渽∱⸰∠敮捯摩 log: leer -- (2) -- print OUTPUT decode($enc,$_); output: leer log: UTF-16:Unrecognised BOM 3c3f at C:/strawberry/perl/lib/Encode.pm line 176, <INPUT> line 1. -- (3) -- print OUTPUT encode($enc,$_); output: <?xml version="1.0" encoding="utf-16"?> ૾㰀洀攀氀搀甀渀最㸀㰀欀漀 渀猀甀氀琀愀琀椀漀渀㸀㰀欀漀渀猀搀愀琀攀㸀㈀ ⴀ ㌀ⴀ㜀㰀⼀欀漀渀 猀搀愀琀攀㸀㰀瀀愀琀椀搀㸀㈀ 㔀㰀⼀瀀愀琀椀搀㸀㰀瀀愀琀礀攀愀爀㸀 㤀㜀 㰀⼀瀀愀琀礀攀愀爀㸀 log: leer ------------------------------ Mir ist nicht klar, was da abläuft. Entweder ist der Output leer oder es erscheinen chinesischen Zeichen. Vielleicht kann mir jemand einen Hinweis geben. Besten Dank giordano |