تحويل سلسلة Unicode في بيثون
سؤال
وأنا في حاجة لتحويل سلاسل Unicode في بيثون إلى أنواع أخرى مثل غير موقعة وقعت كثافة 8 بت، غير موقعة وقعت كثافة العمليات 16 بت، غير موقعة وقعت كثافة العمليات 32 بت، غير موقعة وقعت كثافة العمليات 64 بت، مزدوجة، تطفو، سلسلة، غير موقعة وقعت 8 بت، غير موقعة وقعت 16 بت غير موقعة وقعت 32 بت غير موقعة وقعت 64 بت.
وأنا بحاجة للمساعدة من الناس ش.
المحلول
int()
لتحويل السلسلة إلى عدد صحيح. الثعبان لم يكن لديك مختلفة الأعداد الصحيحة، عرض ثابت لذلك عليك فقط الحصول على نوع واحد من شيء خارج.
struct
لحزمة صحيح في عرض ثابت:
res = struct.pack("=B",i) ## uint8_t
res = struct.pack("=b",i) ## int8_t
res = struct.pack("=H",i) ## uint16_t
res = struct.pack("=h",i) ## int16_t
res = struct.pack("=I",i) ## uint32_t
res = struct.pack("=i",i) ## int32_t
res = struct.pack("=Q",i) ## uint64_t
res = struct.pack("=q",i) ## int64_t
res = struct.pack("=f",i) ## float
res = struct.pack("=d",i) ## double
وstruct
تنتج سلسلة بايت تحتوي على رقم في ثنائي.
وتحرير:
من التعليقات التي يبدو وكأنه كنت ترغب فقط في تحويل السلسلة (من الأرقام العشرية) إلى عدد صحيح. مجرد استخدام int()
لذلك، ومع ذلك أنك لن تحصل على كل تجاوز معقدة / دلالات تجاوز الحد الأدنى من أنواع محددة. لا يمكنك نسخ ذلك في بيثون، على الأقل ليس من دون كتابة مجموعة كبيرة من التعليمات البرمجية.
واعتقد انه اذا كنت تريد أي مساعدة أكثر عليك أن تكون أكثر دقة حول ما تريد تحقيقه.