AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

Ein Thema von SneakyBagels · begonnen am 12. Mai 2017 · letzter Beitrag vom 12. Mai 2017
Antwort Antwort
Seite 2 von 2     12
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.065 Beiträge
 
Delphi 12 Athens
 
#11

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 16:23
Zitat:
Konvertiert ein Byte-Array anhand der Standardgebietseinstellung des Systems in einen Unicode-String.
Und ich dachte immer Byte ist Byte weltweit. Ich benutze ganz normal wie wahrscheinlich jeder andere auch die Jedis dafür.
Du stellst aber eben keine Bytes dar sondern Buchstaben und die Zuordnung von Bytes zu Buchstaben ist nun mal nicht einheitlich. Wenn du auf Nummer sicher gehen willst, dann zeige die Bytes als Hex an oder verwende z.B. Base64 wenn es etwas kürzer werden soll.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#12

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 16:36
Wie würde das denn mit Base64 funktionieren? Mit Base64 hatte ich noch nie etwas zu tun.
Würde man hier dann die Bytes des Streams in Base64 wandeln sehe ich das richtig?

Vielleicht so?
... EncodeBase64(stream.Memory, stream.Size); // TBytesStream, gefüllt mit einer binary über loadfromfile

Geändert von SneakyBagels (12. Mai 2017 um 16:39 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.065 Beiträge
 
Delphi 12 Athens
 
#13

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 16:46
Wie würde das denn mit Base64 funktionieren? Mit Base64 hatte ich noch nie etwas zu tun.
Würde man hier dann die Bytes des Streams in Base64 wandeln sehe ich das richtig?
Base64 ist eine konsistente Art, eine Byte-Sequenz als lesbaren Text darzustellen - ebenso wie die Darstellung als Hex-String, nur kürzer. In der aktuellen Delphi Version 10.2 Tokyo findest du in System.NetEncoding in TNetEncoding.Base64 eine entsprechende Hilfsklasse für diesen Zweck. Ältere Delphi-Versionen haben das auch irgendwo (weiß nur gerade nicht mehr wo).
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#14

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 16:51
Zitat:
Ältere Delphi-Versionen haben das auch irgendwo (weiß nur gerade nicht mehr wo).
Soap.EncdDecd?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.065 Beiträge
 
Delphi 12 Athens
 
#15

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 16:54
Zitat:
Ältere Delphi-Versionen haben das auch irgendwo (weiß nur gerade nicht mehr wo).
Soap.EncdDecd?
Richtig
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#16

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 16:56
TNetEncoding nimmt als Eingansparameter einen Stream und schreibt die Ausgabe ebenfalls in einen Stream.
Soap.EncdDecd.EncodeBase64 nimmt einen Stream und gibt einen String zurück.

Wären die Resultate denn bei beiden gleich? Falls ja, verwende ich glaube ich EncodeBase64 denn dann spare ich mir eine Stream-Variable.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.065 Beiträge
 
Delphi 12 Athens
 
#17

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 17:00
TNetEncoding nimmt als Eingansparameter einen Stream und schreibt die Ausgabe ebenfalls in einen Stream.
Soap.EncdDecd.EncodeBase64 nimmt einen Stream und gibt einen String zurück.

Wären die Resultate denn bei beiden gleich? Falls ja, verwende ich glaube ich EncodeBase64 denn dann spare ich mir eine Stream-Variable.
Das Ergebnis sollte in beiden Fällen gleich sein. Der Stream enthält die Base64-codierten Zeichen in ASCII/UTF-8 (es werden nur Zeichen im unteren Bereich verwendet, daher ist das hier egal).

TNetEncoding hat auch eine Funktion EncodeBytesToString, allerdings nimm die keinen Stream als Parameter.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#18

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 17:02
Zitat:
TNetEncoding hat auch eine Funktion EncodeBytesToString, allerdings nimm die keinen Stream als Parameter.
Notfalls nimmt sie dann ja stream.bytes.

Nur noch einmal zum Mitschreiben. Vorher habe ich mit StringOf (also TEncoding und Default Codepage) einen Stream in einen String geändert und dann in einen Hash.
Das ging wegen der anderen Codepage oder warum auch immer oder weil string nicht gleich string ist schief.
Den Stream mittels Base64 in Base64 zu ändern und dann diesen String den ich als Rückgabe bekomme in einen Hash das funktioniert auch bei anderen Codepages korrekt?

Geändert von SneakyBagels (12. Mai 2017 um 17:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.065 Beiträge
 
Delphi 12 Athens
 
#19

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 17:23
Vorher habe ich mit StringOf (also TEncoding und Default Codepage) einen Stream in einen String geändert und dann in einen Hash.
Wirklich? Ich dachte du hast erst aus dem Stream einen Hash ermittelt und den dann in einen String umgewandelt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
SneakyBagels
(Gast)

n/a Beiträge
 
#20

AW: Arbeitet ein ungarisches Windows anders als ein deutsches/englisches?

  Alt 12. Mai 2017, 18:00
Mir wurde gerade mitgeteilt, dass diese Änderung Abhilfe geschafft hat und nun alles funktioniert wie vorgesehen.
Ich konnte das leider nie selber testen, da ich kein Windows in der nötigen Sprache hier habe.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz