Autor Thema: String To Bytes eleganter?  (Gelesen 1404 mal)

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7449
String To Bytes eleganter?
« am: 17 Mai 2020, 20:50:47 »
Hallo Perl Experten

Ich habe es so gelöst, aber es gibt bestimmt eine bessere Art (z.B. mit unpack oder split?) :
sub
stringToBytes
{
   my ($input) = @_;
   my @output;
   for (my $i = 0; $i < length($input); $i++) {
      push @output, ord(substr($input, $i, 1));
   }
   return @output;
}
(ja, ich weiss, @_ => shift... ;) )
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline Sidey

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2594
Antw:String To Bytes eleganter?
« Antwort #1 am: 17 Mai 2020, 21:12:48 »
Sicher, geht das auch ohne Schleife:

https://docstore.mik.ua/orelly/perl4/cook/ch01_05.htm

Aus der Bezeichnung string2byte geht für mich aber nicht hervor um was für eine String es sich handelt.

Grüße Sidey

Gesendet von meinem Moto Z (2) mit Tapatalk

Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7449
Antw:String To Bytes eleganter?
« Antwort #2 am: 17 Mai 2020, 22:27:40 »
Die String ist das Ergebnis von einer AES-Entzifferung und enthält möglicherweise nicht-druckbare Zeichen

Dies sieht interessant aus:
@ascii_character_numbers = unpack("C*", "sample"); print "@ascii_character_numbers\n"; Ich werde testen.

Ob unpack C und ord das gleiche machen, ist die Frage.

Vielen Dank!
« Letzte Änderung: 17 Mai 2020, 22:30:41 von amenomade »
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7449
Antw:String To Bytes eleganter?
« Antwort #3 am: 17 Mai 2020, 22:45:02 »
Jepp! Funktioniert!
output = 35 39 58 39 44 60 58 95 37 37 0 0 0 33 45 21 93 15 26 26 43 0 9 0 0 127 121 127 121 33 1 1 1 1 5 20 70 6 66 16 0 0 10 0 0 1 33 184
Unpack = 35 39 58 39 44 60 58 95 37 37 0 0 0 33 45 21 93 15 26 26 43 0 9 0 0 127 121 127 121 33 1 1 1 1 5 20 70 6 66 16 0 0 10 0 0 1 33 184
Vielen Dank nochmal :)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline herrmannj

  • Global Moderator
  • Hero Member
  • ****
  • Beiträge: 6009
smartVisu mit fronthem, einiges an HM, RFXTRX, Oregon, CUL, Homeeasy, ganz viele LED + Diverse
Gefällt mir Gefällt mir x 1 Liste anzeigen

 

decade-submarginal