Unicode Char Array
Unicode Char Array
Ich möchte ein Verschlüsselungsprogramm schreiben, das ich mal in MatLab geschrieben habe.
Dazu benötige ich ein Char Array in Unicode. Geht das in Pascal? Kann man dieses dann in ein 16bit Integer Array umwandeln? Dazu habe ich noch nichts gefunden. Das numerische Array will ich dann mathematisch verschlüsseln. Kann man dann das 16bit Integer Array wieder umwandeln in ein Unicode array? In MatLab geht das einfach... Dann kriegt man chinesische Schriftzeichen raus...
Wäre doch nett, wenn das auch in Pascal möglich wäre. Aber ich befürchte, dass Pascal das nicht mitmacht.
Dazu benötige ich ein Char Array in Unicode. Geht das in Pascal? Kann man dieses dann in ein 16bit Integer Array umwandeln? Dazu habe ich noch nichts gefunden. Das numerische Array will ich dann mathematisch verschlüsseln. Kann man dann das 16bit Integer Array wieder umwandeln in ein Unicode array? In MatLab geht das einfach... Dann kriegt man chinesische Schriftzeichen raus...
Wäre doch nett, wenn das auch in Pascal möglich wäre. Aber ich befürchte, dass Pascal das nicht mitmacht.
- h-elsner
- Lazarusforum e. V.
- Beiträge: 231
- Registriert: Di 24. Jul 2012, 15:42
- OS, Lazarus, FPC: LINUX Mint20.3, Win10, Lazarus 2.2.0, FPC3.2.2
- CPU-Target: 64Bit
- Wohnort: Illertissen
- Kontaktdaten:
Re: Unicode Char Array
Pascal macht das lässig mit, aber ob der Troll das kann, weiß ich nicht.
-
- Beiträge: 5652
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunc)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Unicode Char Array
FPC macht mit fas allem mit.Aber ich befürchte, dass Pascal das nicht mitmacht.
Suche mal nach UTF16 oder Widestring.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Unicode Char Array
Wenn man das so machen will, bräuchte es für den ganzen Bereich eigentlich 32 Bit -> UCS4
https://www.freepascal.org/docs-html/rt ... 4char.html
https://www.freepascal.org/docs-html/rt ... 4char.html
Re: Unicode Char Array
Unicode hat nur 16 Bit. Da wären doch 32 Bit Verschwendung....?
- Jorg3000
- Lazarusforum e. V.
- Beiträge: 126
- Registriert: So 10. Okt 2021, 10:24
- OS, Lazarus, FPC: Win64
- Wohnort: NRW
Re: Unicode Char Array
Einer Verschlüsselungs-Routine sollte es eigentlich egal sein, welcher Art die Daten sind, die verschlüsselt werden, also egal ob Text oder Grafikdaten oder ähnliches.
Und dann kann man einfach einen UTF-8 String verschlüsseln und braucht sich nicht um UTF-16 oder UTF-32 zu kümmern.
Und dann kann man einfach einen UTF-8 String verschlüsseln und braucht sich nicht um UTF-16 oder UTF-32 zu kümmern.
-
- Beiträge: 1778
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Unicode Char Array
Schon lang nicht mehr. Vor 20 Jahren dachte man das 16 Bit reichen würden, aber rein rechnerisch macht das schon keinen Sinn, 16 Bit sind nur 65 tausend Zeichen, mandarin hat bereits schon über 100 tausend. Man muss kein Mathematiker sein um zu merken das das nicht aufgeht. Zugegeben kommt man mit 65 tausend schon Recht weit, da das Ziel von Unicode aber ist jede Sprache, egal ob aktiv genutzt oder historisch jetzt und in der Zukunft zu unterstützen reicht das natürlich nicht.
Für UTF 16 würden deshalb Planes eingeführt, die im Grunde das gleiche sind wie die alten Codepages für die Unicode eigentlich die Lösung sein sollte. UTF-8 von daher ist ein kompaktes Format für UTF-32 also 32 bit und kann damit alle Unicode Charaktere abbilden.
Um also effizient mit Unicode chars zu hantieren lohnt es sich am ehesten die einfach von UTF-8 auf UTF-32 zu konvertieren und dann intern einfach mit den 32 bit integern zu arbeiten
-
- Beiträge: 5652
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunc)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Unicode Char Array
Mal ehrlich, für den normal Anwender reichen sogar die 8Bit Zeichensätze.Unicode hat nur 16 Bit. Da wären doch 32 Bit Verschwendung....?
Wer von euch hat schon jemals ein Zeichen gebraucht, welches nicht im ursprünglichen IBM ASCII-Zeichensatz war ?
Ausgenommen die Smilies.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 1778
- Registriert: Di 23. Sep 2014, 17:46
- OS, Lazarus, FPC: Win10 | Linux
- CPU-Target: x86_64
Re: Unicode Char Array
Ich hab einen griechischen Kollegen dessen Name στέφανος (Stephanos) ist. Ich bin mir ziemlich sicher das er seinen Namen gerne benutzt
- af0815
- Lazarusforum e. V.
- Beiträge: 5954
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Niederösterreich
- Kontaktdaten:
Re: Unicode Char Array
Ich habe das Problem in meinem Namen (ein ß).
Außerdem ist die österreichische Sprache voll mit Buchstaben aus dem "nicht" IBM ASCII-Zeichensatz. Auch wenn ich damit umgehen gelernt habe, nachdem einer meiner früheren Drucker nur 7 Bit ASCII konnte (War ein Lineprinter).
Außerdem ist die österreichische Sprache voll mit Buchstaben aus dem "nicht" IBM ASCII-Zeichensatz. Auch wenn ich damit umgehen gelernt habe, nachdem einer meiner früheren Drucker nur 7 Bit ASCII konnte (War ein Lineprinter).
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 5652
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunc)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Unicode Char Array
Ich vor ein paar Minuten.
50 Ω oder 10 μV
230: MicroIch habe das Problem in meinem Namen (ein ß).
225: ss
Beim Omega dachte ich, habe ich es auch mal gesehen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Unicode Char Array
Das war aber nicht deine Frage. Du hast nach ASCII gefragt, der geht nur bis 127 bzw. 7 Bit.
Re: Unicode Char Array
Also die Antworten sind ja nicht sehr ergiebig. Ich dachte, ihr Profis könntet mir zwei Beispiele der Umwandlung geben. Ich benötige 16 Bit, weil ich 2 Buchstaben packe, um eine Datenreduzierung durchzuführen. Ich hätte gerne zwei Beispiele der Umwandlung vom Unicode Array in ein numerisches Array und wieder zurück. In MatLab war das einfach. Hier komme ich noch nicht zurecht.