[解決済み】Pythonで2つの文字列をXORする方法
2022-02-17 10:42:14
質問
H、Pythonで2つの文字列(先に16進数になるはず)をXORしようとしています。 私は1つの方法が動作することを知っています。
def xor_two_str(str1, str2):
return hex(int(str1,16) ^ int(str2,16))
しかし、私はこのようなsthを試してみました。
def change_to_be_hex(str):
return hex(int(str,base=16))
def xor_two_str(str1,str2):
a = change_to_be_hex(str1)
b = change_to_be_hex(str2)
return hex(a ^ b)
print xor_two_str("12ef","abcd")
これはTypeErrorを返します。str, str の間に ^ を使ってはいけません。 なぜかわからないが
また、この関数も使えません。
bcd = change_to_be_hex("12ef")
def increment_hex(hex_n):
return hex_n + 1
result = increment_hex(bcd)
print result
エラーメッセージは: TypeError: cannot concatenate 'str' and 'int' objects なんか変な感じ:(
ありがとうございました。
解決するには?
こんにちは。
次のような関数が結果を返しています。
hex()
どの
は文字列を返します。
.
def change_to_be_hex(s):
return hex(int(s,base=16))
を使用する必要があります。
^
演算子で整数を処理します。
def change_to_be_hex(s):
return int(s,base=16)
def xor_two_str(str1,str2):
a = change_to_be_hex(str1)
b = change_to_be_hex(str2)
return hex(a ^ b)
print xor_two_str("12ef","abcd")
でも、それがあなたの求めている結果かどうかはわかりません。もしあなたが2つの文字列をXORしたいのなら、それは一方の文字列の各文字をもう一方の文字列の文字とXORしたいことを意味します。そうすると、XORは
{コード
の値は、各charまたはstr1の
ord()
ord()
def xor_two_str(a,b):
xored = []
for i in range(max(len(a), len(b))):
xored_value = ord(a[i%len(a)]) ^ ord(b[i%len(b)])
xored.append(hex(xored_value)[2:])
return ''.join(xored)
print xor_two_str("12ef","abcd")
def xor_two_str(a,b):
return ''.join([hex(ord(a[i%len(a)]) ^ ord(b[i%(len(b))]))[2:] for i in range(max(len(a), len(b)))])
print xor_two_str("12ef","abcd")
関連
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】RuntimeWarning: 割り算で無効な値が発生しました。
-
[解決済み】NameError: 名前 'self' が定義されていません。
-
[解決済み】Flaskのテンプレートが見つからない【重複あり
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
opencvとpillowを用いた顔認証システム(デモあり)
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
パッケージングツールPyinstallerの使用と落とし穴の回避
-
風力制御におけるKS原理を深く理解するためのpythonアルゴリズム
-
PythonによるExcelファイルの一括操作の説明
-
Python Pillow Image.save jpg画像圧縮問題
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】ValueError: xとyは同じサイズでなければならない