我得到了这个使用javascript
进行base64编码的csv文件SomeField1;SomeField2;SomeField3
Value1;Value2;Value3
Value1;ÀÃÁÄÑ;Value3
Value1;Value2;Value3
这是用于对其进行编码的javascript
var openFile = function(event) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var text = reader.result.substring(reader.result.indexOf(",") + 1);
// From string >> encoded string
console.log(text);
document.getElementById('demo').innerHTML = text
};
reader.readAsDataURL(input.files[0],'CP-1252');
var input = event.target;
};
在发送之后,它会在像这样的
中解码public static void GetLinesCSV(String[] Base64str, ArrayList list) {
byte[] baos = DatatypeConverter.parseBase64Binary(Base64str[0]);
String file_string = new String(baos);
baos = Base64_2.decode(Base64str[0]);
file_string = new String(baos);
String file_out = "";
String[] tokens = file_string.split("\r\n", -1);
for (int i = 1; i < (tokens.length - 1); i++) {
list.add(tokens[i]);
}
}
问题是csv文件可以包含像Ä或Ñ这样的特殊字符。然后我把它作为输出。
SomeField1;SomeField2;SomeField3
Value1;Value2;Value3
Value1;ÀÃ�ÄÑ;Value3
Value1;Value2;Value3
如果我在javascript中对两者进行编码和解码,我会得到错误的输出,如果我在java中进行编码和解码,我也会得到错误的输出...我更改了设置,因此eclipse也使用了windows-1252。我忘记了某些内容,或者是否无法使用相同的字符集对不同语言进行编码和解码?