Ascii bald ausgestorben?
- NicTheQuick
- Ein Admin
- Beiträge: 8807
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Re: Ascii bald ausgestorben?
Andererseits würde es UTF8 da wohl auch nicht besser machen, da dort die Zeichen 1 bis 4 Bytes beanspruchen können. Da würde alleine der 'Len()'-Befehl länger brauchen. Und der wird ja intern bei vielen anderen String-Operationen benutzt. Ascii alleine würde nicht ausreichen, Unicode schon. Und die Interna von Purebasic werden auf jeden Fall einfacher zu handhaben, weil Fred nicht zweigleisig arbeiten muss.
Eine fünffache Geschwindigkeitseinbuße kann ich mir zwar nicht vorstellen, aber dass Unicode langsamer ist als Ascii, ist ja einleuchtend.
Eine fünffache Geschwindigkeitseinbuße kann ich mir zwar nicht vorstellen, aber dass Unicode langsamer ist als Ascii, ist ja einleuchtend.
Re: Ascii bald ausgestorben?
Wie sieht es mit der Unterstützung älterer Betriebssysteme aus? 
Welches Minimum OS wird nach der Unicode Umstellung sein? Ich spreche hier OS von MS.
Und noch was: Wie sieht es mit AESEncoder aus? In den zwei vorgegebenen Beispiel codes in der Help wird darauf hingeweisen,
dass die Codes im Ascii Modus kompiliert werden müssen. Wenn ich die Codes dennoch im Unicode Mode kompiliere,
bekomme ich chinesische Zeichen. Warum? Gibt es noch keine Unicode Version oder muss der Code anders lauten?
Base64Encoder verhält sich auch anders. 

Welches Minimum OS wird nach der Unicode Umstellung sein? Ich spreche hier OS von MS.
Und noch was: Wie sieht es mit AESEncoder aus? In den zwei vorgegebenen Beispiel codes in der Help wird darauf hingeweisen,
dass die Codes im Ascii Modus kompiliert werden müssen. Wenn ich die Codes dennoch im Unicode Mode kompiliere,
bekomme ich chinesische Zeichen. Warum? Gibt es noch keine Unicode Version oder muss der Code anders lauten?
Code: Alles auswählen
; Sollte im Ascii-Modus kompiliert werden
;
String$ = "Hello this is a test for AES"
*CipheredString = AllocateMemory(Len(String$)+1) ; Platz für den null-terminierten String
*DecipheredString = AllocateMemory(Len(String$)+1) ; mit seiner abschließenden Null (ASCII-Modus)
If AESEncoder(@String$, *CipheredString, Len(String$), ?Key, 128, ?InitializationVector)
Debug "Ciphered: "+PeekS(*CipheredString)
AESDecoder(*CipheredString, *DecipheredString, Len(String$), ?Key, 128, ?InitializationVector)
Debug "Deciphered: "+PeekS(*DecipheredString)
EndIf
DataSection
Key:
Data.b $06, $a9, $21, $40, $36, $b8, $a1, $5b, $51, $2e, $03, $d5, $34, $12, $00, $06
InitializationVector:
Data.b $3d, $af, $ba, $42, $9d, $9e, $b4, $30, $b4, $22, $da, $80, $2c, $9f, $ac, $41
EndDataSection

Re: Ascii bald ausgestorben?
AESEncoder arbeitet mit einem Puffer. Wenn du nun Len im Unicodemodus benutzt bekommst du nur die Hälfte der Größe. Wenn du nun statt "len" einfach StringByteLength benutzt, sollte es funktionieren.
Re: Ascii bald ausgestorben?
Warum wird überhaupt ASCII rausgeschmissen? Weil veraltet und kaum benutzt?
Re: Ascii bald ausgestorben?
Fred hat geschrieben:Still supporting ASCII is a big work for us, as we need to provide duplicate fonctions when dealing with strings, which can leads to more bugs.
Re: Ascii bald ausgestorben?
An den Code ist sehr viel falsch. z.b. wird ein viel zu kleiner Speicherbereich genutzt. Oder das man mit peeks() den Ciphered string ausliest, das ist selbst mit ASCII unsinnig.GronkhLP hat geschrieben:Gibt es noch keine Unicode Version oder muss der Code anders lauten?
Eigentlich nicht. Base64Encoder arbeitet grundsätzlich nur mit Ascii (es werden nur die ersten 7 Bit genutzt + nur menschenlesbare Zeichen). Man muss ihn also mit Peeks() in Unicode umwandeln. Eine Unicode-Variante würde auch überhaupt keinen Sinn machen.GronkhLP hat geschrieben:Base64Encoder verhält sich auch anders.
Welche Funktion soll denn gleich 5x langsamer sein?
__________________________________________________
Quote-Tags repariert
04.11.2015
RSBasic
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Re: Ascii bald ausgestorben?
Vermutlich Windows 2000, da ab dort UTF-16 intern verwendet wird.GronkhLP hat geschrieben:Wie sieht es mit der Unterstützung älterer Betriebssysteme aus?
Welches Minimum OS wird nach der Unicode Umstellung sein? Ich spreche hier OS von MS.
Das würde mich auch interessieren, da Unicode nicht wirklich langsamer als ASCII ist. Erst wenn man variable Kodierungen wie UTF-8 verwendet bekommt man deutliche Geschwindigkeitsnachteile.GPI hat geschrieben:Welche Funktion soll denn gleich 5x langsamer sein?
Allerdings sollte sich die Frage nach Performance / Speicherverbrauch gar nicht stellen, Unicode ist heutzutage der absolute Standard.
Michael Hack
Michael Hack Software :: Softwareentwicklung | Webentwicklung | IT-Dienstleistungen
www.michaelhacksoftware.de :: www.mh-s.de :: www.michael-hack.de
Michael Hack Software :: Softwareentwicklung | Webentwicklung | IT-Dienstleistungen
www.michaelhacksoftware.de :: www.mh-s.de :: www.michael-hack.de
Re: Ascii bald ausgestorben?
Die minimum-Version dürfte eh schon höher liegen, da Win2000 kein GDI+ hat. Sowieso kann man eigentlich sagen, das man alles unter Vista aus Prinzip nicht mehr unterstützen sollte....mhs hat geschrieben:Vermutlich Windows 2000, da ab dort UTF-16 intern verwendet wird.GronkhLP hat geschrieben:Wie sieht es mit der Unterstützung älterer Betriebssysteme aus?
Welches Minimum OS wird nach der Unicode Umstellung sein? Ich spreche hier OS von MS.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: Ascii bald ausgestorben?
Es werde mindestens alle Betriebssysteme von MS unterstützt, die MS auch unterstützt, also ab Win 7?GronkhLP hat geschrieben:Wie sieht es mit der Unterstützung älterer Betriebssysteme aus?
Welches Minimum OS wird nach der Unicode Umstellung sein? Ich spreche hier OS von MS.
PB unterstützt ab WinXP, also erst recht kein kein Problem

PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Re: Ascii bald ausgestorben?
Hab ich was verpasst? Wo ist denn der Windows 95 Support?ts-soft hat geschrieben:PB unterstützt ab WinXP, also erst recht kein kein Problem