Ascii bald ausgestorben?

Für allgemeine Fragen zur Programmierung mit PureBasic.
Benutzeravatar
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?

Beitrag von NicTheQuick »

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.
GronkhLP
Beiträge: 72
Registriert: 14.11.2013 22:43
Wohnort: Köln
Kontaktdaten:

Re: Ascii bald ausgestorben?

Beitrag von GronkhLP »

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?

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
Base64Encoder verhält sich auch anders. :|
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Ascii bald ausgestorben?

Beitrag von edel »

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.
NeoChris
Beiträge: 205
Registriert: 21.11.2013 21:17
Wohnort: Schweiz
Kontaktdaten:

Re: Ascii bald ausgestorben?

Beitrag von NeoChris »

Warum wird überhaupt ASCII rausgeschmissen? Weil veraltet und kaum benutzt?
Benutzeravatar
RSBasic
Admin
Beiträge: 8047
Registriert: 05.10.2006 18:55
Wohnort: Gernsbach
Kontaktdaten:

Re: Ascii bald ausgestorben?

Beitrag von RSBasic »

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.
Aus privaten Gründen habe ich leider nicht mehr so viel Zeit wie früher. Bitte habt Verständnis dafür.
Bild
Bild
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Ascii bald ausgestorben?

Beitrag von GPI »

GronkhLP hat geschrieben:Gibt es noch keine Unicode Version oder muss der Code anders lauten?
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:Base64Encoder verhält sich auch anders. :|
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.

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!
Benutzeravatar
mhs
Beiträge: 224
Registriert: 11.01.2009 16:30
Wohnort: Graben
Kontaktdaten:

Re: Ascii bald ausgestorben?

Beitrag von mhs »

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.
Vermutlich Windows 2000, da ab dort UTF-16 intern verwendet wird.
GPI hat geschrieben:Welche Funktion soll denn gleich 5x langsamer sein?
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.

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
GPI
Beiträge: 1511
Registriert: 29.08.2004 13:18
Kontaktdaten:

Re: Ascii bald ausgestorben?

Beitrag von GPI »

mhs hat geschrieben:
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.
Vermutlich Windows 2000, da ab dort UTF-16 intern verwendet wird.
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....
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Benutzeravatar
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?

Beitrag von ts-soft »

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.
Es werde mindestens alle Betriebssysteme von MS unterstützt, die MS auch unterstützt, also ab Win 7?
PB unterstützt ab WinXP, also erst recht kein kein Problem :mrgreen:
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.
Bild
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Re: Ascii bald ausgestorben?

Beitrag von edel »

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