Незнакомое кодирование строки (Base64?) - Попытка сохранить и использовать строковое содержимое файла.3gp

Я пытаюсь прочитать содержимое файла.3gp в виде строки, чтобы позже сохранить эту строку как действительный файл.3gp еще раз.

Когда я читаю содержимое строки, кажется, что она закодирована иначе, чем когда я смотрю на содержимое строки.3gp файла в Windows.

Вот выдержка из начала содержимого строки, которую я получил:

\ U0000\u0000\u0000\u0018ftyp3gp4\u0000\u0000\u0000\u0000isom3gp4\u0000\u0000\tmoov\u0000\u0000\u0000lmvhd\u0000\u0000\u0000\u0000oKoK\u0000\u0000 "U003" U0000 "U0000" U0000 "U0000" U0000 "U0000" U0000 "U0000" U0000 "U0000" U0000 "U0000" U0000 "U0000" U0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \ u0000 \u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000@\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0000\u0000meta\u0000\u0000\u0000!hdlr\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000mdta\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000dkeys\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003 \u0000\u0000\u001bmdtacom.android.version\u0000\u0000 mdtacom.android.manufactu RER \u0000\u0000\u0000\u0019mdtacom.android.model\u0000\u0000\u0000`ilst\u0000\u0000\u0000\u001d\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0015data\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u00008.1.0\u0000\u0000\u0000\u001e\u0000\u0000\u0000\u0002\u0000\u0000\u0000\u0016data\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000Google\u0000\u0000\u0000\u001d\u0000\u0000\u0000\u0003\u0000\u0000\u0000\u0015data\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000Pixel\u0000\u0000\b1trak\u0000\u0000\u0000\tkhd\u0000\u0000\u0000\u0007oKoK\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000

Допустимое содержимое файла.3gp при открытии в программе "Блокнот" в Windows выглядит следующим образом:

ftyp3gp4 isomiso23gp4 free -kmdat <§! 4ˆÉ ‡ € èÕ_ÒA @ € vÞm¾ © ° Ï @; € $:: => ZA!3³³Ó×ùžŸ8HLììøýÂBg‡‡ či é2ÒÂòçXÉ••–:ÅÌ œ¬¥Ú.däÅ$îñS%$&%w‰š|„ÐѤ&€‚ˆŠÝ#4TVé  £#7ÈÍ ºFˆGУ#7ÈÄ„}¾Fh((ˆò2 ¡ *Šïšy¾AÉùñí*W…ÿŠ£MÛJ…È»4ò\ÇÃú£×©ÎC—‰ñôŸü™Iœž(²z™¦ÿå;õÕ®]ÁB>ªÇŠGma,H(â > tNÊvt~b$ _W¿¢4•¶Ñ9Ñ_â©¥„ñž—÷ ¡æñ¹ ͨéZç£JmdÁ÷•ƒ_sÊvîü¾òµÉÒ̃S±,yðÆ4¼?ü0MU†ÝKÞ £ÏÊÑ#£n1t”ØâX<Oã£ïBAx!—O²×ÈáÄ’àB/¾a¿LÔÐàÝÊ:f†fÆÎqÓ1043s™yq‘‹¤dËJËËc&VRZXë2‚r¢—h©¢£%%7IJŽŽ––}¶J4„ƒé‰²SHIMMm’‰$úJjkd•O¥MMm’šRJjklœÒRSS[dãHG>˜–Ý$ÝÈ-ò¥jýš§;‡’ÎBýT+Un[uÎÁAøn(HÀCñöÈBOǪÆ'@–¨ºAÜØ|qí½"yOÕ]1¨ò¿cm €<IT%´¡$h I/@ô˜Õ4‘@èõI– BŠtóÊÇʽoAË}PÊ’ž!/.QퟪóÍæjF@ÀzP>@B®—ùUôùbi%VýVüw»ÞÓÎ àñ^{s$t~/ÕÕj•+ËTU{k“¦ÏNÕ
ËÇíE°2->ú¸\¬w?ù¸:“‰NÏt‰’XÇIP5f‰P^€9TT%LªTŽÆ°ÁXôKþÌÁÖLìé ùÆ>g'§Ž1ó65:9rŽ™¡™¹«œtÌL #&^\b é2ÂÂâçXÈ "O|¨(¶IQ8úyõ%6¹J(Р> || ×'... ê'ÕOμÉõê'ÕOªŸj" ê'ÔOªŸU>×)ÔO¨ŸU>ª}®N5êª'sPNTSl "šrjš <д> 4Äμì <: Kjïf- "зоэа •> ÈÕ,Ÿè^ oÀ ÕU kËâ§Ù|lœ€ А ° AY | 0ÇõPþ7 s÷ÕE6zHä'•ÕûiǔŠ£œÒ¿Úó } TªP²tÅ}|A‹çøª¢‡ ü¹GUÉSÜ{TH¯|y'Æ'A€ ÷à '".Óp€ÀyßQ&,³#K™• û|ŒÐÑ›afzv€~á!3£ƒÓ·ù›šœœ9GÌÐÌØÙÎ6f&†n'³TUWYk "šª²ÒÓT¥•Ï" Ÿ[> ö)Eƒë×Zef²²ººÕ)5•• öö ©I¬¬®®μJÑdú¹õÕ¶¹Z+ Yv>¶¶×'Ecê§Ö-ZA,¨}LúÁõ† Ei ©©

Я считаю, что тип строки, которую я получил, - Base64, основанный на результатах некоторых поисков, и я заметил, что обработка строки в javascript с помощью unescape(encodeURIComponent()) дает мне несколько похожий результат на действительное содержимое.3gp, но это не точно.

Кто-нибудь знает, что мне нужно сделать со строкой, чтобы она выглядела как допустимое содержимое строки файла.3gp в Windows? Это вообще возможно?

1 ответ

Так как вам нужно только иметь возможность скачать его, держать его как строку - это хорошо. Если вместо этого вы можете использовать Node Buffer, он будет немного более надежным, но строка javascript должна содержать все ваши байты.

Будьте осторожны, как вы обращаетесь с API загрузки, чтобы убедиться, что он не превращается во что-то еще.

Другие вопросы по тегам