javascript - 不熟悉的字符串编码(Base64?) - 尝试保存和使用 .3gp 文件的字符串内容

标签 javascript string base64 3gp

我正在尝试将 .3gp 文件的内容作为字符串读取,以便稍后再次将该字符串保存为有效的 .3gp 文件。

当我读取字符串内容时,它的编码似乎与我在 Windows 上查看 .3gp 文件的字符串内容时的编码不同。

以下是我收到的字符串内容开头的摘录:

\u0000\u0000\u0000\u0018ftyp3gp4\u0000\u0000\u0000\u0000isom3gp4\u0000\u0000\t�moov\u0000\u0000\u0000lmvhd\u0000\u0000\u0000\u0000�o�K�o�K\u0000\u0000\u0003�\u0000\u0000 �\u0000\u0001\u0000\u0000\u0001\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\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\u0000�meta\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\u0000\u001bmdtacom.android.version\u0000\u0000\u0000 mdtacom.android.manufacturer\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\u0007�o�K�o�K\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000

在 Windows 上的记事本中打开有效的 .3gp 文件时,其内容如下所示:

ftyp3gp4 isomiso23gp4 free -kmdat<§!4ˆÉ‡€èÕ_ÒA@€ vÞm¾ ©°Ï@; € $::=>zá!3³³Ó×ùžŸ8HLììøýÂBg‡‡çî<f¦§QÓ3366sŽ™™‘©£œtÌL Ì#f\bé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Õ<br/> ËÇí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(P>¦¦×'…ê'ÕOµÉõê'ÕOªŸj”ê'ÔOªŸU>×)ÔO¨ŸU>ª}®N5ꪒsPNTSl“šrjš‹d›4ĵì‹:Kjïf–”žœâ•›ÈÕ‚Ÿè^òÀÕU kËâ§Ù|lœ€Á°aÿ|0ÇõPþ7s÷ÕE6zHä'•ÕûiǔŠ£œ Ò¿Úó}TªP­²tÅ}|A‹çøª¢‡Â ü¹GUÉSÜ{TH¯|y'Æ’A€ ÷à‘».Óp€ÀyßQ&,³#K™• û|ŒÐÑ›äfzv€~á!3£ƒÓ·ù›šœœ9GÌÐÌØÙÎ6f&†n‘³TUWYk“šª²ÒÓT¥•Ï«Ÿ[>¸Õ)Eƒë×Zef²²ººÕ)5••ÕÖ©I¬¬®®µJÑdú¹õÕ¶¹Z+ŸV>¶¶×'Ecê§Ö–Zå,¨}LúÁõ†ÉI©©

根据我所做的一些搜索,我相信我收到的字符串类型是 Base64,并且我注意到使用 unescape(encodeURIComponent()) 处理 javascript 中的字符串给出了与有效 .3gp 有点相似的结果内容,但不准确。

有谁知道我需要对字符串执行什么操作才能使其看起来像 Windows 中有效的 .3gp 文件字符串内容?这有可能吗?

最佳答案

由于您只需要能够下载它,因此将它作为字符串保存就可以了。如果您可以使用节点缓冲区,它会更健壮一点,但 javascript 字符串应该携带所有字节。

请小心处理下载 API,以确保它不会变成其他东西。

关于javascript - 不熟悉的字符串编码(Base64?) - 尝试保存和使用 .3gp 文件的字符串内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48054578/

相关文章:

video - 将base64编码的字符串视频保存到磁盘

javascript - 恢复/保存选择时 contenteditable div 问题

javascript - x-editable 的成功回调不起作用

javascript - 为什么 6.53 + 8 = 14.530000000000001 在 JavaScript 中?

string - 如何用内部@""@封装脚本,用外部@""@

C# Base64 字符串转 JPEG 图片

javascript - 单击 javascript 函数时的代码不起作用?

c - 奇怪的字符替换(对我来说)毫无意义

string - 我应该实现 Display 还是 ToString 来将类型呈现为字符串?

ruby - 在 ruby​​ 2.2 上没有填充的 Base64 编码