ඔබ සඳහා ලියකියවිලි දෙස බැලුවහොත් bytes
, එය ඔබට පෙන්වා දෙන්නේ bytearray
:
bytearray ([ප්රභවය [, කේතන කිරීම [, දෝෂ]]])
නව බයිට් පෙළක් ආපසු එවන්න. බයිට්ආරේ වර්ගය යනු 0 <= x <256 පරාසයේ ඇති පූර්ණ සංඛ්යා වල විකෘති අනුක්රමයකි. විකෘති අනුක්රමික වර්ගවල විස්තර කර ඇති විකෘති අනුක්රමයන්හි සුපුරුදු ක්රම බොහොමයක් ඇත, එසේම බයිට් වර්ගයට ඇති බොහෝ ක්රම, බයිට් සහ බලන්න බයිට් අරා ක්රම.
අරාව විවිධ ආකාර කිහිපයකින් ආරම්භ කිරීමට විකල්ප ප්රභව පරාමිතිය භාවිතා කළ හැකිය:
එය නූලක් නම්, ඔබ කේතීකරණ (සහ විකල්ප වශයෙන්, දෝෂ) පරාමිතීන් ද ලබා දිය යුතුය; bytearray () පසුව str.encode () භාවිතා කරමින් නූල බයිට් බවට පරිවර්තනය කරයි.
එය පූර්ණ සංඛ්යාවක් නම්, අරාවෙහි එම ප්රමාණය ඇති අතර එය ශුන්ය බයිට් වලින් ආරම්භ වේ.
එය බෆර් අතුරුමුහුණතට අනුකූල වන වස්තුවක් නම්, බයිට් අරාව ආරම්භ කිරීම සඳහා වස්තුව කියවීමට පමණක් ඇති බෆරයක් භාවිතා කරනු ඇත.
එය පුනරාවර්තනය කළ හැකි නම්, එය අරාවෙහි ආරම්භක අන්තර්ගතයන් ලෙස භාවිතා කරන 0 <= x <256 පරාසය තුළ ඇති පූර්ණ සංඛ්යා නැවත ලබා ගත හැකි විය යුතුය.
තර්කයක් නොමැතිව, 0 ප්රමාණයේ අරාවක් නිර්මාණය වේ.
එබැවින් bytes
නූලක් කේතනය කිරීමට වඩා වැඩි යමක් කළ හැකිය. පයිතොනික් එය අර්ථවත් වන ඕනෑම ආකාරයක ප්රභව පරාමිතියක් සමඟ ඉදිකිරීම්කරු ඇමතීමට ඔබට ඉඩ සලසයි.
නූලක් කේතනය some_string.encode(encoding)
කිරීම සඳහා, එය ඉදිකිරීම්කරු භාවිතා කිරීමට වඩා පයිතොනික් යැයි මම සිතමි , මන්ද එය වඩාත්ම ස්වයං ලේඛනගත කිරීම වන බැවිනි - "මෙම නූල ගෙන මෙම කේතීකරණය සමඟ එය කේතනය කරන්න" වඩා පැහැදිලි ය bytes(some_string, encoding)
- ඔබ භාවිතා කරන විට පැහැදිලි ක්රියාපදයක් නොමැත ඉදිකිරීම්කරු.
සංස්කරණය කරන්න: මම පයිතන් ප්රභවය පරීක්ෂා කළෙමි. ඔබ CPythonbytes
භාවිතා කිරීම සඳහා යුනිකෝඩ් නූලක් පසු කළහොත් , එය PyUnicode_AsEncodedString ලෙස හැඳින්වේ , එය ක්රියාත්මක කිරීම encode
; ඒ නිසා ඔබ encode
ඔබම අමතන්නේ නම් ඔබ යම් තරමක උදාසීනත්වයක් මඟ හැරේ .
එසේම, සර්ඩාලිස්ගේ ප්රකාශය බලන්න - unicode_string.encode(encoding)
එය වඩාත් පයිතොනික් වන්නේ එහි ප්රතිලෝම byte_string.decode(encoding)
හා සමමිතිය කදිම බැවිනි.