提供されたパラメータがバイト配列の型かどうか、またはJavaScriptを使用しないかどうかを検証する必要があります。どうすればこれを達成できますか?ご意見をお聞かせください。提供されたパラメータがJavascriptのバイト配列の型かどうかを確認するにはどうすればよいですか?
答えて
Typed-Arrayのタイプ/インスタンスを確認しようとしていないため、ここでユニバーサルチェックを行います。 (これはバイトを含むように設計されてArrayBufferを戻します)
機能toUTF8Array:バイト長が存在するかどうかを確認し、それはバイトアレイ
function isByteArray(array) {
if (array && array.byteLength !== undefined) return true;
return false;
}
Jonis回答の修正バージョンであるべきです(str){ var utf8 =新しいArrayBuffer(str.length);
for (var i=0; i < str.length; i++) {
var charcode = str.charCodeAt(i);
if (charcode < 0x80) {
utf8[i] = charcode;
continue;
}
if (charcode < 0x800) {
utf8[i] = (0xc0 | (charcode >> 6),
0x80 | (charcode & 0x3f));
continue;
}
if (charcode < 0xd800 || charcode >= 0xe000) {
utf8[i] = (0xe0 | (charcode >> 12),
0x80 | ((charcode>>6) & 0x3f),
0x80 | (charcode & 0x3f));
continue;
}
i++;
charcode = 0x10000 + (((charcode & 0x3ff)<<10)
| (str.charCodeAt(i) & 0x3ff));
utf8[i - 1] = (0xf0 | (charcode >>18),
0x80 | ((charcode>>12) & 0x3f),
0x80 | ((charcode>>6) & 0x3f),
0x80 | (charcode & 0x3f));
}
return utf8;
}
私はJoniの答えをhttp://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-arrayで使って変換しました文字列をバイト配列に変換し、メソッドを使用してそれを検証します。しかし、falseを返します。何か案は? : – mayooran
まあ、Joniが提供している型付き配列ではありません。単純な配列の代わりにArrayBufferを返すようにJonis関数を修正しようとします。もちろん、この配列にカスタムプロパティを設定して後で識別できますそれでもまだ!== TypedArray – webdeb
@mayooran編集内容を見ると、ArrayBuffer – webdeb
- 1. 型がパラメータのないコンストラクタを提供するかどうかを確認するにはどうすればよいですか?
- 2. バイト配列にJavaでUnicode文字列が含まれているかどうかを確認するにはどうすればよいですか?
- 3. pandasデータフレームの列がdatetime型であるかどうかを確認するにはどうすればよいですか?列が数値かどうかを確認するにはどうすればよいですか?
- 4. 配列の値が同じかどうかを確認するにはどうすればいいですか?
- 5. AWS SDKに資格情報が提供されているかどうかを確認するにはどうすればよいですか?
- 6. エラーが返されたかどうかを確認するにはどうすればよいですか?
- 7. リンクが訪問されたかどうかを確認するにはどうすればよいですか?
- 8. ジェネリックメソッドパラメータが値型であるかどうかを確認するにはどうすればよいですか?
- 9. javascriptオブジェクトがイメージかキャンバスかどうかを確認するにはどうすればよいですか?
- 10. 小さい配列の値が大きい配列にあるかどうかを確認するにはどうすればよいですか?
- 11. 配列の配列に内部配列内の値があるかどうかを確認するにはどうすればよいですか?
- 12. どのウィジェットがクリックされたかを確認するにはどうすればよいですか?
- 13. JavaScriptがセッションがnullかどうかを確認するにはどうすればいいですか?
- 14. simplehttpserverのようにjavascriptにフラスコでファイルを提供するにはどうすればいいですか?
- 15. ロールのIEnumerableに文字列配列のロールが含まれているかどうかを確認するにはどうすればよいですか?
- 16. JavaScriptでファイルサイズを確認するにはどうすればよいですか?
- 17. アクセスしている配列インデックスが配列の範囲外であるかどうかを確認するにはどうすればよいですか?
- 18. Seleniumスクリプトがログインできたかどうかを確認するにはどうすればよいですか?
- 19. カスタムデータ型をパラメータとしてNpgsqlに提供するにはどうすればいいですか?
- 20. Symfony Consoleで値なしでオプションが提供されたかどうかを確認するには?
- 21. Android搭載端末が場所を提供できるかどうかを確認するにはどうすればよいですか?
- 22. Silverlight 4:bmpバイト配列をpngバイト配列に変換するにはどうすればよいですか?
- 23. WinActivateが成功したかどうかを確認するにはどうすればよいですか?
- 24. プッシュ通知がiOSで配信されたかどうかはどのように確認できますか?
- 25. 配列にcount = 0が保持されているかどうかを確認するにはどうすればよいですか?
- 26. インデックスにvarchar(max)型の列が含まれているかどうかを確認するにはどうすればよいですか?
- 27. エクスプレスサブドメインでリアクションアプリを提供するにはどうすればよいですか?
- 28. koaでフロントエンドを提供するにはどうすればよいですか?
- 29. ユーザーがindex.htmlにいるかどうかを確認するにはどうすればよいですか?
- 30. イメージピラミッドをフロントエンドに提供するにはどうすればよいですか?
有効な配列の例とその作成方法を投稿できますか? – webdeb
http://stackoverflow.com/questions/12332002/how-to-store-a-byte-array-in-javascript、javascriptでバイト配列を作成する方法を次に示します。パラメータを選択したものと比較するだけです'' param instanceof UInt8Array''' –
@MiguelLattuadaのようなタイプの配列は、必ずしも** UInt8Array **のインスタンスである必要はなく、** Int8Array **または** Uint8ClampedArray **でもかまいません。私は 'byteLength'の存在を確認することをお勧めします – webdeb