Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
🇮🇷Eron internetni “o‘chirib qo‘yish” bo‘yicha rekord o‘rnatdi
🚫 Eron’da internet 1 oydan ortiq vaqt davomida ishlamayapti va bu holat hatto jahon rekordi sifatida qayd etildi.
🌐 Ma’lumotlarga ko‘ra, NetBlocks hisobotiga asosan, mamlakatda internetga kirish 888 soatdan ortiq vaqt davomida cheklangan.
➡️#internet | Birinchi IT-Blog
🔎 Internet bo‘ylab sizning raqamli izingizni bir necha soniyada yig‘ib beradigan OSINT vosita topildi — Sherlock bitta nik orqali yuzlab saytlardagi akkauntlarni aniqlaydi.
📝 Username kiritasiz, va dastur bir vaqtning o‘zida 400+ platformani tekshiradi: ijtimoiy tarmoqlardan tortib forumlar va GitHub’gacha. Natijada topilgan barcha profillar ro‘yxatini olasiz — uni faylga yuklab olish yoki brauzerda ochish mumkin.
🛡 Har qanday tizimda ishlaydi, proxy va Tor qo‘llab-quvvatlanadi.
🆓Vosita bepul va ochiq kodli.
➡️#internet | Birinchi IT-Blog
⚡️ 10G internet endi fantastika emas!
🇨🇳 Xitoyning Syun’an tumanidagi aholiga 9834 Mbit/s tezlikdagi tarmoq ochildi.
🆚 Solishtirish uchun: bu tezlikda 8K formatdagi 2 soatlik filmni atigi 72 soniyada yuklab olish mumkin. Yaqin orada Xitoyda yana 168 ta hududda 10G tarmoq ishga tushiriladi.
🤔“6G–9G qayerda?” deb hayron bo‘lish mumkin. Aslida bu mobil aloqa avlodlari emas, balki 10 gigabitli tezlikni bildiruvchi texnologik belgi, xolos. Generation ma'nosida yozmadik xullas))
🎥#internet | Birinchi raqamli IT-Blog
🎮 Captcha o‘rniga DOOM?
ℹ️ Dasturchilar internetda Captcha testini kichik DOOM o‘yiniga aylantirishdi. Foydalanuvchilar odatdagi rasmlarni tanlash yoki kod kiritish o‘rniga, DOOM uslubidagi qisqa topshiriqni o‘ynab, “robot emaslik”larini tasdiqlashlari kerak bo'ladi.
🖱 Sinab ko'rish manzili esa shu yerda.
➡️#internet | Birinchi raqamli IT-Blog
🤦♂️ Shunday katta tizimni mayda narsalar sharmanda qilishi mumkin
🕸my.gov.uz'dagi Muxlisa AI ishlashida kamchiliklar bor, sinov rejimida degan yozuv anchadan buyon turibdi. Kamchiliklarni tezroq bartaraf etib, yakuniy relizni tezroq chiqarishni o'rganishimiz kerak.
Siz nima dedingiz?
➡️#internet | Birinchi raqamli IT-Blog
✋ Reklama emas!
🌐Ucell operatori O'zbekistonda eng tezkor mobil internetga ega deb topilibdi. Shu fikr rostmi, siz qaysi deb hisoblaysiz?
➡️#internet | Birinchi raqamli IT-Blog
Noutbuk Wi-Fi'ni ko'rmasligining 15 sababi va uni qanday tuzatish kerak?
#internet
Muammo Windows sozlamalarida, apparat drayverlarida yoki yo'riqnoma sozlamalarida bo'lishi mumkin.
🗞Batafsil maqolani o'qish (RUS)
✅ Agar rus tilini bilmasangiz brauzerning sahifani tarjima qilish funksiyasidan foydalaning (izohda rasmini tashlab qo'yaman).
💻 Kompyuterni birga o'rganamiz ⤵️
TelegramIYouTube
🦠VPN (Virtual Private Network) – bu virtual xususiy tarmoq bo'lib, shaxsingizni yashirish va bloklangan saytlarni ochishda yaxshi qurol vazifasini o’taydi.
🔒VPN kuzatuv, xakerlik va tsenzuradan samarali himoya qiladi, shuningdek foydalanuvchiga Internetdagi maxfiylikni beradi.
🔓 Qaysidir bir VPN xizmatini sozlab, o'rnatib olganingizdan so'ng, gadjetingiz shu xizmatga aloqador VPN tarmoqlariga xavfsiz ulanadi.
📥 Bloklangan birorta saytga yoki ijtimoiy tarmoqga kirmoqchi bo'lsak, bu uchun murojaatimiz VPN serveriga yuboriladi va bu server sayt yoki tarmoqqa bloklanmagan manzildan olib sizga jo'natadi.
✅ Shu yo'l bilan xuddi to'g'ridan-to'g'ri ulanayotgandek bo'lasiz, lekin aslida siz VPN orqali boshqa bir yashirin manzil va ma'lumotlar bilan saytni ochayotgan bo'lasiz.
😅P.S: VPNni iloji boricha yaxshi maqsadlarda ishlatishga harakat qiling!
🤔 — ha aytgancha siz qanday VPN dan foydalanasiz?
@BigMasterUz_bot – universal ustoz!
👉🏼Birinchi raqamli windows blog | #internet
🔎Microsoft Edge brauzerlarida kriptovalyuta hisoblarini yaratish va boshqarish mumkin bo'lgan yangi funksiyasini sinovdan o'tkazayotgan ekan.
🤔 Menimcha, avval Edge'ni internet brauzeri sifatida mukammallashtirib olish kerak, deb o'ylayman. Sizning fikringiz qanday?
👉🏻#internet | Birinchi raqamli IT-Blog
💡The Offlines!
In a time when your entire life can essentially be lived online, there are increasingly fewer aspects of existence which remain untouched by the #internet. Likewise, the number of people that don't use the internet is also decreasing. As data from the ONS shows, though, there is still a fair share of people in the UK that have never used the internet and these differences vary significantly by country/region. In Northern Ireland, 13 percent have never been online, while in London the share is only 6 percent.
🚀@PerspectiveIX
📖 via Statista: prs.pctvix.co/2JvLONX