Мой вопрос:
Как успешно использовать метод getResourceByHash(...)
API Evernote?Преобразование шестнадцатеричной строки в байтовый массив
То, что я сделал:
я получил шестигранный хэш эм-медиа в содержании примечания: 80ad525cd14de8f925487c02afc9ab21
Затем я использую следующую функцию, чтобы включить шестнадцатеричный String
в байты:
function hex2bin(hex){
var bytes = [];
for(var i=0; i< hex.length-1; i+=2) {
bytes.push(parseInt(hex.substr(i, 2), 16));
}
return String.fromCharCode.apply(String, bytes);
}
var bin = hex2bin("80ad525cd14de8f925487c02afc9ab21");
в следующем применяю переменную функции getResourceByHash(...)
таким образом:
noteStore.getResourceByHash(GUID, bin, true, true, true,
function(err,result){
console.log(err);
console.log(result);
}
);
Но выход получается:
{identifier: 'Resources', key: 'c280c2ad525cc3914dc3a8c3b925487c02c2afc389c2ab21'}
undefined
В общем, я запутался.
В зависимости от ваших предоставленных данных, возникает ошибка при преобразовании гекса в двоичный или передавая это значение функции: ключ 'не c280c2ad525cc3914dc3a8c3b925487c02c2afc389c2ab21'could быть двоичным как это содержит буквы, вместо этого он почти такой же, за исключением конечного «c2», если вы его добавляете. –
thx, я также подозреваю неправильное преобразование функции hex2bin. и знаете ли вы правильные способы сделать это? спасибо – Ricky