Xor zwei Saiten in Python

Xor zwei Saiten in Python

Während des Programmierens in Python die “XorDer Bediener wird in mehreren Aufgaben verwendet. Zum Beispiel, um Fehler oder Probleme bei der Datenübertragung mit Hilfe von Überprüfungsummen zu erkennen, die Verschlüsselung auf Nachrichten anwenden oder bestimmte Bits von einer Nummer abrufen. Insbesondere wird es zum Vergleich von zwei Daten- oder Stringsmengen verwendet und festgelegt, ob sie ähnlich sind oder einige Unterschiede aufweisen.

In diesem Blog werden die folgenden Aspekte behandelt:

  • Was ist Xor in Python??
  • Wie arbeitet Xor in Python??
  • Xor Wahrheitstabelle
  • Wie man zwei Saiten in Python Xor erledigt?
  • Relevante Szenarien

Was ist Xor in Python??

In Python, “Xor" oder "Exklusiv oderIst ein Operator, der zwei Binärzahlen bitweise vergleicht. Dieser Betreiber kehrt zurück “0Wenn beide Bits gleich sind. Sonst gibt es aus “1Für den Fall, dass beide Werte unterschiedlich sind. Pythons integriertem XOR-Operator ermöglicht es uns, zwei Werte logisch mit Hilfe des Exklusiv- oder Betriebs zu kombinieren.

Wie arbeitet Xor in Python??

Der XOR -Bediener wird als "dargestellt"^In Python, und es folgt der angegebenen Syntax:

xor_number = x ^ y

Hier, "x ”und„ y"Zeigen Sie die Binärzahlen an."^"Repräsentiert den XOR -Operator und"xor_numberSpeichert den resultierenden booleschen Wert.

Xor Wahrheitstabelle

Um mehr über die Arbeit des XOR -Operators zu erfahren, schauen Sie sich die angegebene Tabelle an:

X y x ^ y
0 0 0
0 1 1
1 0 1
1 1 0

Wie man zwei Saiten in Python Xor erledigt?

Da XOR ein bitialer Operator ist, kann es nur bei Ganzzahlen arbeiten. Um die XOR -Operation zwischen zwei Zeichenfolgen durchzuführen, muss sie jedoch in ihre jeweiligen ASCII/Unicode -Werte umwandelnord ()Funktion und dann die “anwenden^" Operator.

Bei der Betrachtung der XOR -Operator -Implikation für Zeichenfolgewerte gibt es drei Haupt -Fall -Szenarien:

  • Fall 1: Beide Zeichenfolgen enthalten Binärwerte.
  • Fall 2: Beide Saiten umfassen Zeichen.
  • Fall: 3: Eine Zeichenfolge basiert auf Ganzzahlen/Binärwerten, und die zweite enthält Zeichen.

Lassen Sie uns die angegebenen Fälle praktisch demonstrieren!

Fall 1: Wenden Sie XOR auf zwei Zeichenfolgen mit Binärwerten an

Um den XOR -Operator auf zwei Zeichenfolgen mit Binärwerten anzuwenden, initialisieren Sie ihn zunächst wie folgt:

String1 = "0100100"
String2 = "1001010"

Fügen Sie nun die folgenden Zeilen hinzu:

result = [(ord (a) ^ ord (b)) für a, b in ZIP (String1, String2)]
Druck (Ergebnis)

Nach dem angegebenen Code:

  • Aufrufen "Reißverschluss()”Funktion mit der“für"Schleife, um Charakterepaare zu erstellen"A ”,“ B", von dem "String1" Und "String2”.
  • Jedes erzeugte Paar wird dann an das "übergeben"ord ()Funktion, um sie in ihre jeweiligen ASCII -Werte umzuwandeln.
  • ^”Führt die XOR -Operation auf den konvertierten ASCII/Unicode -Werten aus und findet sie an die Liste an.
  • Schließlich wird der resultierende Wert in der “gespeichert“ErgebnisVariable und mit der "angezeigt" angezeigtdrucken()Funktion:

Es kann beobachtet werden, dass der XOR -Operator für jedes gleiche Indexbit beider Zeichenfolgen ausgibt0"Und für verschiedene Werte"1" ist zurück gekommen.

Fall 2: Wenden Sie XOR auf zwei Zeichenfolgen mit Zeichen an

Jetzt wird der XOR -Bediener auf zwei Zeichenfolgen mit den folgenden Zeichenwerten angewendet:

String1 = "zwei"
String2 = "Ten"
result = [(ord (a) ^ ord (b)) für a, b in ZIP (String1, String2)]
Druck (Ergebnis)

In diesem Fall die “ord ()Die Funktion gibt den ASCII -Wert für jedes erzeugte zurück und übergibt sie an „^“, um die XOR -Operation durchzuführen:

Eine weitere einfachste Möglichkeit, sich an die Arbeit dieses Falls zu erinnern, besteht darin, wenn das “ord ()Die Funktion gibt den ASCII -Wert für jedes Paar zurück, der XOR -Bediener gibt seinen subtrahierten Wert aus.

Zum Beispiel:

  • Der erste Charakter beider Saiten ist "T", Dessen ASCII -Wert ist"116”, Also gab der XOR-Bediener 0 (116-116) zurück.
  • Das zweite Zeichen der ersten Zeichenfolge ist “w"Mit dem ASCII -Wert"119Und für die zweite Zeichenfolge die “e"Charakter existiert im selben Index mit einem ASCII -Wert"101”. Daher gibt der XOR-Bediener 18 (119-101) aus.
  • Für das letzte Bit enthält die erste Zeichenfolge “Ö"Mit ASCII -Wert"111,"Und die zweite Zeichenfolge umfasst"N"Haben"110”ASCII -Wert. Infolgedessen gab der XOR-Bediener 1 (111-110) zurück.

Fall 3: Wenden Sie XOR auf zwei an, wenn eine Zeichenfolge Zeichen enthält, und der andere basiert auf Ganzzahlen/Binärwerten

Der letzte Fall in der laufenden Diskussion ist, wenn eine Zeichenfolge Zeichen wie “enthält, wie sie“zwei", Und der andere umfasst Ganzzahlen oder binäre Werte wie"111”:

String1 = "zwei"
String2 = "111"
result = [chr (ord (a) ^ ord (b)) für a, b in ZIP (String1, String2)]
Druck (Ergebnis);

Hier funktioniert der Code ähnlich wie der zweite Fall. Außer dass die zurückgegebenen ASCII -Werte mit dem “in die jeweiligen Zeichen konvertiert wurdenchr ()”Python -Funktion:

Die zurückgegebene Liste repräsentiert die Zeichen der entsprechenden ASCII -Werte.

Abschluss

In Python, Xor “^" kehrt zurück "0Wenn beide Bits gleich sind. Sonst gibt es aus “1”. Beide Saiten umfassen jedoch Zeichen, Werte werden in ihre ASCII -Darstellung mit der “konvertiert.“ord ()Funktion, und dann wird der XOR -Bediener angewendet. Die gleiche Operation wird durchgeführt, wenn beide Zeichenfolgen unterschiedliche Datentypen enthalten, z. B. Zeichen und Ganzzahlen. Nur die Differenzierung ist, die aufzurufen “chr ()Funktion, um den resultierenden Wert in Zeichen zu erhalten. Dieser Blog hat gezeigt, wie man zwei Saiten in Python xor.