У меня есть utf8 данные, которые я прохожу переваривать :: SHA по следующим образом:Digest :: ША и utf8
my $sha1=Digest::SHA->new;
foreach (@fields) { $sha->add($record) }
print $sha1->hexdigest;
, но я получаю неожиданное поведение и каждый раз, когда я получаю разные переваривать для той же самой записи я читать дальше http://metacpan.org/pod/Digest::SHA, что есть побочные эффекты использования Digest УВХ с UTF8 я пытаюсь следующий metigation но и не работает:
{use bytes;
foreach (@fields) { $sha->add($record) }
print $sha1->hexdigest;
}
и
use Encode qw(encode_utf8);
foreach (@fields) { $sha->add((encode_utf8($record)) }
print $sha1->hexdigest;
любая помощь будет признательна.
Вы гавань» t дал нам достаточно информации о том, что находится в '$ record', и откуда он пришел, чтобы ответить на ваш вопрос. – cjm
запись взята из db и ее json, закодированной подконусом json encode – smith
Никогда не используйте 'use bytes;'. См. Его документы. /// Неясно, какие две вещи генерируют разные хэши, так что на самом деле нечего делать дальше. – ikegami