Теперь запакуем строку.
В этом случае следует передавать тип данных bytes.
>>> struct.pack('=s', b'a')
b'a'
Для записи слова следует указывать количество символов.
>>> struct.pack('=5s', b'hello')
b'hello'
Кстати, запакованный вид соответствует исходному тексту. Всё верно, символ есть в таблице ASCII, то есть его код попадает в диапазон 0-127, он может быть записан одним байтом и имеет визуальное представление. А вот что будет если добавить символ вне ASCII
>>> struct.pack(f'=s', b'ё')
SyntaxError: bytes can only contain ASCII literal characters.
Ошибка возникла еще на этапе создания объекта bytes, который не может содержать такой символ. Поэтому надо кодировать эти байты из строки.
>>> enc = 'ёжик'.encode('utf-8')
>>> struct.pack(f'={len(enc)}s', enc)
b'\xd1\x91\xd0\xb6\xd0\xb8\xd0\xba'
Заметьте, длина такой строки в байтах отличается от исходной длины, так как символы вне ASCII записываются двумя байтами и более. Поэтому здесь формат создаём на лету, используя получившуюся длину как каунтер токена.
#libs#basic
News: #Ethiopia wheat imports to persist as rising prices, tight supply offset production gains
A new #USDA report projects that Ethiopia will continue importing about 1.4 million metric tons of #wheat despite increased domestic production, citing tight supply and surging prices. The report also notes that domestic wheat prices have risen sharply, reinforcing reliance on imports even as output grows.
Despite the expected growth in wheat production, the report warns that domestic wheat supplies remain tight, forcing millers and traders to increasingly rely on imports.
#Russia remains Ethiopia’s largest wheat supplier, accounting for 68 percent of imports, followed by #Ukraine and #Romania. Together, the three countries supplied 93 percent of Ethiopia’s wheat imports, underscoring the country’s continued reliance on Black Sea markets.
Prime Minister Abiy Ahmed has repeatedly remarked rejecting wheat import as a defining feature of Ethiopia........
Read more: https://addisstandard.com/?p=56330
News: USDA purchases #US wheat to support agricultural development in #Ethiopia and #Kenya
The United States Department of Agriculture (#USDA) has purchased 183,700 metric tons of U.S. hard red winter (HRW) wheat to support agricultural development projects in Ethiopia and Kenya, according to the U.S. Wheat Associates (USW).
The purchase, made in mid-January by the USDA’s Foreign Agricultural Service (FAS), marks the first U.S. wheat procurements under the Food for Progress program for the 2025 fiscal year. The wheat will be delivered in four cargoes—three from #Houston, #Texas, and one from #Kalama, #Washington—destined for the two #East_African countries.
Food for Progress is a U.S. government program that provides agricultural commodities to support food security and development in partner countries. Under the program, donated food commodities are sold locally,....
https://web.facebook.com/AddisstandardEng/posts/pfbid0qv13B87UsJgyuNpxxeB8Be2fj41XGjLZ1aRCDYLc85AGHGZ3hrMK9QRFKRDiQDcal
🚀 USDA Maintains Soybean Production Forecast for 2025/2026
The United States Department of Agriculture (USDA) has maintained its forecast for the 2025/2026 soybean production at 4.262 billion bushels, unchanged from its March estimate. According to Jin10, the USDA also projects the ending stocks for the same period to be 350 million bushels, slightly above the market expectation of 349 million bushels, and consistent with the March forecast. Additionally, the USDA anticipates the soybean yield to remain at 53 bushels per acre, the same as the previous month's projection.
#USDA#Soybean#Agriculture#Production#Forecast #2025 #2026 #Yield#EndingStocks#USAgri