質問

私はPHPからcrc32関数を取得して、javascriptによって生成された結果と一致させようとしています。 4つの異なるjavascriptcrc32ライブラリ( 1 2 3 4 )ネット上で見つけたもので、すべてasciiで正常に機能しますが、utf8文字をスローすると、4つのjsライブラリすべてが同じ間違った答えを出力します。

この古いstackoverflowの質問が最も近い答えのようですが、それでも私のテストでは機能しません。

例:

php:crc32('tést') = 727386373

javascript:crc32.genBytes('tést') = 3109344618

便宜上、これが最もコンパクトなバージョンです。 ジェネラコディセタグプレ

MySQLのcrc32がphpと一致することにも注意する必要があるため、javascriptが間違っていることはかなり確信しています。 javascriptでutf8文字列に対して適切なcrc32を実行する方法についての手がかりはありますか?

役に立ちましたか?

解決

わかったので、自分の質問に答えます。重要なのは、htmlヘッドに<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">を追加することでした。次に、次のコードが機能します。これは、リンクで入手できるものからわずかに変更されています。 ジェネラコディセタグプレ

他のヒント

crc32.genBytesを使用する前に、文字列でこの関数を使用してみてください ジェネラコディセタグプレ

両方の文字列が同じ文字セットでエンコードされていることを確認する必要があります。両方の文字列のUTF-8値を確認することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top