C の型フィールドを含むいくつかの構造体をアンパックしています。フィールドには、C コードで処理されるゼロが埋め込まれた UTF-8 文字列が含まれています (この関数の痕跡的な動作に注意してください)。バイトをデコードすると、最後に多くの文字が含まれるユニコード文字列が得られます。's'
strncpy
NUL
>>> b'hiya\0\0\0'.decode('utf8')
'hiya\x00\x00\x00'
末尾のゼロ バイトは UTF-8 の一部であり、自動的に削除されるという印象を受けました。
ゼロバイトを削除する適切な方法は何ですか?