0
私はこれでFirefoxのV52でUTF-16ファイルの内容を読み取るしようとしているのJavascript parseFloatははUTF-16文字列で動作していない:Firefoxの52:
$.ajax({
type: "GET",
url: "downloads/dg_mare_piwik_social.csv",
dataType: "text",
success: function(data) {
// Split the lines
var lines = data.split('\n');
for (var i = 1, len = lines.length; i < len; ++i) {
var items = lines[i].split(',');
console.log(items[0], Number.parseFloat(items[1]));
}
});
問題は、コンソールIでparseFloat(items[1])
からNaN
を取得します。 これはFirefoxでのみ発生し、他のすべてのブラウザはその番号を取得します。
どうすれば動作させることができますか? UTF-16文字列から数値を取得するにはどうすればよいですか?
'items [1]'の生の価値とは何ですか? – Liam
問題はJavaScriptレイヤーではなく、JavaScriptに到達する前です。ほとんどの場合、ファイルは一方向(UTF-16など)でエンコードされていますが、サーバーレスポンスは別の方法でエンコードされていると言います(UTF-8など)。 –
JavaScript文字列を扱うときは、[それは常にUTF-16です](http://www.ecma-international.org/ecma-262/7.0/index.html#sec-terms- and-definitions-string-value)(ただし、無効なサロゲートペアを使用することができます)、どのように開始されたかにかかわらずです。 –