Size: a a a

2021 January 21

VO

Vyacheslav Olkhovche... in Modern::Perl
для вот такого оригинала
00000000  42 54 58 30 58 03 0c 6b  24 4c ee 1c 00 00 00 00  |BTX0X..k$L......|
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
т.е. ee кодируется как c3 ae и именно так в crc попадает (а в файл пишется `ee`)
источник

VG

Vadim Goncharov in Modern::Perl
Vyacheslav Olkhovchenkov
где именно?
на open файла, и да, он нужен не только на винде
источник

VG

Vadim Goncharov in Modern::Perl
Vyacheslav Olkhovchenkov
нет. я сначал формирую строку из всякого говна, которе в том числе притаскивает флаг utf8. потом от этого считаю crc и пишу и то и другое в файл.

и вот когда из файла читаю -- crc выходит совсем другое
вот в месте, где ты от utf8 считаешь crc32, там и ошибка
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
на open уже поздно. вон я выше написал до чего докопался.
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
ну это понятно. только у меня там явного utf не было.
источник

SZ

Sergey Zhmylove in Modern::Perl
Данные-то откуда изначально берутся?
источник

VG

Vadim Goncharov in Modern::Perl
да какая разница, он совершил классическую ошибку при работе с уникодом
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
Sergey Zhmylove
Данные-то откуда изначально берутся?
что-то генерится pack
что-то из полей Net::Amazon::S3
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
Vadim Goncharov
да какая разница, он совершил классическую ошибку при работе с уникодом
у меня все данные исходно были представимы в ascii. ни одного юникодного символа у меня не было.
о том что Net::Amazon::S3 на строки лепит is_utf8 (при том что там исключительно ascii) я как-то не подумал
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
Digest::SHA, кстати, вроде как сам делает utf8::downgrade на входные данные
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
а, кстати, из полей Net::Amazon::S3 тоже пропускалось через pack('a*'). что же оно не сняло utf8?
источник

AP

Anton Petrusevich in Modern::Perl
Vyacheslav Olkhovchenkov
у меня все данные исходно были представимы в ascii. ни одного юникодного символа у меня не было.
о том что Net::Amazon::S3 на строки лепит is_utf8 (при том что там исключительно ascii) я как-то не подумал
"c3 ae", как и "ee" в аскии нету, так что ...
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
А это не аски а кодирование инт64
источник

AP

Anton Petrusevich in Modern::Perl
Vyacheslav Olkhovchenkov
А это не аски а кодирование инт64
"у меня все данные исходно были представимы в ascii." — не были
источник

AP

Anton Petrusevich in Modern::Perl
пак, кстати, не "лепит ютф8"
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
Anton Petrusevich
"у меня все данные исходно были представимы в ascii." — не были
Все строковые
источник

AP

Anton Petrusevich in Modern::Perl
если Net::Amazon::S3 возвращает строки, то он и должен их во внутреннем представлении возвращать
источник

VO

Vyacheslav Olkhovche... in Modern::Perl
Anton Petrusevich
если Net::Amazon::S3 возвращает строки, то он и должен их во внутреннем представлении возвращать
Ну и?
источник

AP

Anton Petrusevich in Modern::Perl
ну и чему удивляться
источник