Size: a a a

F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)

2020 August 11

A

Anatoly in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Ayrat Hudaygulov
аха, проклятый дотнет в литл ендиан, а проклятая жава по умолчанию в биг ендиан
дилан рассказывал про багу, когда у них роутер как-то скипал один байт из пакета.
источник

A

Anatoly in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
пейлоад был в UTF16, и там было смешно
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
F#
[|31uy; 37uy; 39uy; 32uy; 30uy; 37uy; 36uy; 34uy; 31uy; |]
|> System.Text.Encoding.UTF8.GetString
|> System.Console.WriteLine // %'  %$"


Kot
lin
val arr = byteArrayOf(0x31, 0x37, 0x39, 0x32, 0x30, 0x37, 0x36, 0x34, 0x31)
val str = Charsets.UTF_8.decode(java.nio.ByteBuffer.wrap(arr))
print(str)
//179207641
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
короче, разметка по пизде идёт, но мысль понятна
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
короче, наступил на грабли
источник

VS

Vladimir Shchur in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
у меня это строка в UTF8, где скрыто число
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
то есть это не просто число
источник

VS

Vladimir Shchur in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
ну это странно, обычно индианность только для чисел важна
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Vladimir Shchur
ну это странно, обычно индианность только для чисел важна
ну вот пример выше показывает что не только
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
один и тот же массив байт (он был получен в жава коде) по-разному декодится в UTF-8
источник

VS

Vasily Shapenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Ayrat Hudaygulov
аха, проклятый дотнет в литл ендиан, а проклятая жава по умолчанию в биг ендиан
BitConverter.IsLittleEndian жи
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Vasily Shapenko
BitConverter.IsLittleEndian жи
BitConverter.IsLittleEndian
val it : bool = true
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
а в жаве байты в биг ендиане пакуются
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
ебень.
источник

AH

Ayrat Hudaygulov in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
И как вы на это не наступили при общении со скала сервером?
источник

VS

Vasily Shapenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Легко
источник

VS

Vasily Shapenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
Проверяем, в какой мы endian
источник

VS

Vasily Shapenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
И реверсим
источник

VS

Vasily Shapenko in F# Flood: Неделя Революций (прирост борцов за свободу вырос вдвое)
В зависимости от результатов
источник