TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #242 · 7 мај

Теперь запакуем строку. В этом случае следует передавать тип данных 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

Hashtags

Резултати

Пронајдени 6 слични објави

Пребарај: #ksp

当前筛选 #ksp清除筛选
Android Broadcast

@android_broadcast · Post #9592 · 23.10.2025 г., 14:18

🏝 KSP стало независеть от версии Kotlin. Неужели API плагинов Kotlin компилятора стало стабильным? Обновляйтесь до версии KSP 2.3.0 (версии Kotlin в названии больше нету) Также KSP1 теперь deprecated, нужно чтобы всё умело работать с новой версией. #ksp#kotlin

Hashtags

Android Broadcast

@android_broadcast · Post #8922 · 09.04.2025 г., 13:23

Вышел KSP 2.0, который теперь работает на KSP2 по умолчанию. Теперь работает на K2 и отдельный генератор исходников с большей гибкостью #kotlin#ksp

Hashtags

Android Broadcast

@android_broadcast · Post #8912 · 07.04.2025 г., 06:04

Metro - Новый DI фреймворк на чистом Kotlin (ещё в разработке) @DependencyGraph interface AppGraph { val httpClient: HttpClient @Provides private fun provideFileSystem(): FileSystem = FileSystem.SYSTEM } @Inject class HttpClient(private val fileSystem: FileSystem) @Inject @Composable fun App(circuit: Circuit) #kotlin#di#ksp

Окружающий четверг

@ch4etverg · Post #22235 · 11.01.2026 г., 19:25

Со спутника OTP-2 на частоте 400500 кГц каждые пять минут транслируют музыку из заставки игры Kerbal Space Program KSP — компьютерная игра в жанре симулятор, разработанная компанией Squad. События происходят в вымышленной вселенной, где человекоподобные инопланетяне «кербалы» начинают свою космическую программу, которая развивается под управлением игрока #KSP #игра #спутник #радио

Android Broadcast

@android_broadcast · Post #9301 · 06.07.2025 г., 18:53

🏝Проблемы с порядком Gradle Task при использовании KSP 2.0.2 Продолжаю разработку проекта FrameIO - Kotlin Multiplatform клиента для сервиса frame.io и стоклнулся с падением сборки из-за порядка задач (ниже стек с примером проблемы): Some problems were found with the configuration of task ':module:kspDebugKotlinAndroid' (type 'KspAATask'). - Gradle detected a problem with the following location: './module'. Reason: Task ':module:kspDebugKotlinAndroid' uses this output of task ':module:javaPreCompileDebug' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed. Possible solutions: 1. Declare task ':module:javaPreCompileDebug' as an input of ':module:kspDebugKotlinAndroid'. 2. Declare an explicit dependency on ':module:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#dependsOn. 3. Declare an explicit dependency on ':core:user-session:javaPreCompileDebug' from ':module:kspDebugKotlinAndroid' using Task#mustRunAfter. For more information, please refer to https://docs.gradle.org/8.14.2/userguide/validation_problems.html#implicit_dependency in the Gradle documentation. Стек для сборки: Gradle 8.14.2, Kotlin 2.2.0, KSP 2.2.0-2.0.2, AGP 8.11.0 Решения проблемы пока нету в KSP (одно из issue), поэтому я задаю порядок Gradle Task сам: // build.gradle.kts модуля где подключен ksp afterEvaluate { android.libraryVariants.forEach { variant -> val variantCapitalized = variant.name.capitalized() tasks.named("ksp${variantCapitalized}KotlinAndroid") { dependsOn( "${variant.name}AssetsCopyForAGP", "process${variantCapitalized}Manifest", "write${variantCapitalized}AarMetadata", "javaPreCompile${variantCapitalized}", "merge${variantCapitalized}Assets", "merge${variantCapitalized}JniLibFolders", "merge${variantCapitalized}NativeLibs", "copy${variantCapitalized}JniLibsProjectOnly", "generate${variantCapitalized}EmptyResourceFiles", "copy${variantCapitalized}JniLibsProjectAndLocalJars", "prepare${variantCapitalized}ArtProfile", "write${variantCapitalized}LintModelMetadata", "extractProguardFiles", "prepareLintJarForPublish", ) } } } #android#kmp#koltin#ksp