Можно ли в 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
⚡Boost dalam Grup
Versi Beta Telegram untuk Android telah memperkenalkan fitur boost dalam grup.
Para editor @tginfoid telah membahas fitur apa yang dibawa oleh boost ke dalam grup di sini dan di sini. Namun, beberapa fitur lain ditemukan dalam versi Beta 10.8.0:
• Hanya supergrup yang dapat di-boost. Tidak ada kemampuan semacam itu di grup biasa.
• Jumlah boost yang diperlukan untuk setiap level baru berbeda dengan di channel. Ingatlah bahwa di channel, jumlah ini sama dengan total jumlah pelanggan dibagi 250. Namun untuk grup masih belum diketahui, tetapi sudah jelas bahwa setiap level di grup memerlukan lebih banyak boost: mungkin, untuk grup, total anggota dibagi 25.
• Jumlah boost ditampilkan di sebelah pesan anggota yang telah memberikan boost ke grup. Tampaknya tidak mungkin menonaktifkan tampilan informasi ini.
• Pesan layanan bahwa seseorang telah mentransfer boost mereka tidak selalu ditampilkan di grup.
#boost
⚡Fitur Sistem Boost dalam Grup
Editor @tginfo menemukan gambar baru di platform terjemahan Telegram dan memperhatikan fitur-fitur berikut yang terkait dengan kemampuan untuk mem-boost grup:
• Layar yang diperbarui dengan level grup dan jumlah boost aktif.
• Selain tautan khusus, Anda dapat memberikan boost menggunakan menu tiga titik.
• Saat salah satu pengguna memberikan boost pada grup, pesan sistem akan muncul di grup.
• Pesan giveaway akan dikirim ke obrolan atas nama administrator yang menyelenggarakan giveaway ini.
• Kemampuan untuk mengatur paket emoji publik dalam grup akan tersedia di Pengaturan Grup › Tampilan
• Semua anggota grup akan melihat catatan bahwa mereka dapat menggunakan paket emoji obrolan bahkan tanpa Telegram Premium.
Kami berbicara tentang fitur apa yang akan tersedia untuk grup dengan penambahan sistem boost postingan ini.
#boost
⚡Boost dalam Grup
Editor @tginfoid telah menganalisis baris-baris baru yang ditemukan oleh @tgcrawl di platform terjemahan Telegram, dan memperkirakan bahwa pembaruan mendatang akan membawa dukungan untuk sistem boost dalam grup. Boost dalam obrolan grup akan berfungsi serupa dengan boost dalam channel, tetapi dengan beberapa perbedaan.
👥Fitur yang Mirip dengan Channel:
• Kemampuan untuk Boost Grup
Anggota grup akan dapat boost obrolan grup untuk membuka fitur tambahan.
• Cerita dalam Grup
Administrator grup akan memiliki kemampuan untuk memposting sejumlah cerita per hari di grup, berdasarkan level obrolan.
• Boost untuk Giveaway atau Distribusi Telegram Premium
Grup akan menerima boost untuk langganan Telegram Premium yang diberikan kepada anggotanya.
• Kustomisasi Grup
Administrator akan dapat mengatur status emoji, latar, dan logo kustom untuk header grup, yang terlihat oleh semua anggota grup.
👥Fitur Khusus Grup:
• Akses ke Emoji Kustom
Administrator dapat memasang paket emoji khusus grup. Semua anggota dapat menggunakan emoji dari paket ini di grup, bahkan tanpa berlangganan Telegram Premium.
• Transkripsi Pesan Suara
Anggota grup dapat mentranskripsi pesan suara yang dikirim di grup, bahkan tanpa berlangganan Premium.
• Penghapusan Batasan untuk Mereka yang Boost Grup
Administrator akan dapat menghapus batasan grup untuk mereka yang telah boost sejumlah kali untuk grup. Misalnya: di grup di mana pengiriman media dilarang, pengguna yang telah memberikan boost 4 kali untuk grup akan dapat mengirim media.
• Penerjemahan Langsung
Setiap anggota grup akan memiliki kemampuan untuk menerjemahkan semua pesan di obrolan secara langsung.
#boost
Fitur Baru untuk Channel Boost
Pavel Durov mengomentari pembaruan terbaru pada aplikasi Telegram, di mana sistem baru untuk boost dari pelanggan Telegram secara khusus telah dibuat untuk channel Telegram. Dalam postingan tersebut, ia berbagi rincian tentang opsi baru apa yang akan didapatkan oleh channel berkat sistem ini.
Jadi, di masa mendatang, channel Telegram akan mendapatkan beberapa opsi lain selain hak yang telah ada untuk mengirimkan cerita dari channel, seperti reaksi kustom untuk postingan, status emoji, dan latar belakang pengguna kustom.
Telegram juga berencana untuk menambahkan cara tambahan bagi channel untuk mendapatkan boost. Pavel Durov belum menjelaskan dengan rinci apa cara ini akan dilakukan, masih belum diketahui.
#boost
📰You may only be able to boost one channel at a time
As mentioned before, only ⭐️Premium users have the possibility to boost channels, that too only once a day and without paying additional fees.
If you want to boost a channel, even though you have already boosted another channel, a window like the image above will be displayed for you, where you can boost another channel instead of the previous one.
It is necessary to say that if you received your premium subscription as a gift, you won't be able to boost!
💌 Thanks to iDubTG
#Boost
👉The TG Times
More than one boost per account
In the new version of Telegram beta for Android, Premium users can do a maximum of 4 boosts for one channel on the test server.
There is still no accurate information on the number of boosts on the main server.
#Boost | #Beta v.10.2
👉The TG Times
📰Users will be allowed to view channel stories in the "Archived Stories" section after it expires if you enable "Post to Channel Page" option.
#Boost | #Beta
👉The TG Times
📰The stories of the channels are displayed like the stories of users
If you follow that channel, the story of that channel is displayed in the stories bar.
#Boost | #Beta
👉The TG Times
📰By upgrading channels to the first level, channel stories are activated
You can try boosting this channel by this link:
t.me/TheTGTimes?boost (with v.10.1 beta)
Channel boosts has not yet been fully activated and it is not possible to post stories from channels at the moment.
#Boost | #Beta
👉The TG Times
📰What do we know about Boosting Channels?
Boosting channels is done level by level, and each time you reach to another level, a newer feature, including Stories, is activated.
The boost statistics are displayed separately next to the channel statistics.
A list of the names of the latest boosters is displayed along with the expiration time of the boosts.
The statistics of the number of Premium subscribers in the channel are displayed.
A special boost link is used to upgrade the channel, like t.me/TheTGTimes?boost.
💌 Thanks to iDubTG
#Boost | #Beta
👉The TG Times