Project

General

Profile

Actions

Feature #179

open

Behandlung von "String-Klassen" in dcmdata komplett ueberarbeiten

Added by Jörg Riesmeier almost 23 years ago. Updated over 12 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Module:
dcmdata
Operating System:
Compiler:

Description

das Durcheinander sollte mal "dringend" aufgeraeumt werden
Problematik:

1. Es wird nicht konsequent zwischen den "originalen" (unmodifizierten) und den normalisierten Zeichenketten unterschieden.

Vorschlag:
  • getString() durch getUnmodifiedString() oder getOriginalString() ersetzen und durch diese ausschliesslich den originalen (aus dem Datensatz gelesenen) String zurueckgeben lassen (momentan ist der Rueckgabewert nicht seiteneffektfrei, da er davon abhaengt, ob zuvor getOFString() oder getOFStringArray() mit normalize=OFTrue aufgerufen worden ist).
  • getOFString() und getOFStringArray() haben das gleiche Verhalten wie bisher. Zu ueberlegen ist allerdings, ob man intern nicht zwei Versionen der Strings speichert (unmodifiziert und normalisiert). Damit wuerde das wiederholte Normalisieren entfallen.
Offene Punkte:
  • was ist mit den leading und trailing Spaces, die momentan in Abhaengigkeit eines globalen Flags entfernt werden?
  • Unterstuetzung fuer Multi-byte Character Strings (ESC-Sequenzen) und Vorbereitung fuer Unicode? Hierfür könnte ''libiconv'' (LGPL) verwendet werden.
  • PS3.5 schreibt, dass bei nicht unterstuetzten Zeichensaetzen die Sonderzeichen (oberhalb 7 Bit) durch Oktal-Schreibweise (\nnn) dargestellt werden sollten
  • waeren ein "checkVR()" (siehe Eintrag weiter unten) und ein "DcmDataset::normalize()" (gesamten Datensatz normalisieren) nicht auch gleich sinnvoll?
Hinweis:
  • siehe auch den unten stehenden Eintrag vom 2002-03-18 zu diesem Thema!

2. MaxLength ist nicht in allen Faellen korrekt definiert (z.B. VR=PN, MBCS), wird aber bislang wohl auch nur in verify() benutzt? Siehe auch weiter unten stehenden Eintrag zu diesem Thema.

PS: Bei der Gelegenheit koennten die entsprechenden dcmdata-Klassen auch mal zu Ende dokumentiert werden.

No data to display

Actions

Also available in: Atom PDF