JS 实现文件转字符串
评论 1 热度 886
原理:利用H5的FileReader
对象读取用户计算机上的文件并转为Base64,然后低级生硬地把base64(提前生成字典,一个字符对应一个文字)转成藏文(好像是藏文吧);解码的时候倒过来即可。考虑到文件太大导致浏览器奔溃的问题,最后用了setTimeout解决了,具体代码看file2str.js
其实FileReader已经把文件转成"字符串"了,我只是把字符串在进行加工,改成其他奇怪的字符来减少"空间"(并不是压缩了)如 :̴̴̸̴̨̘̙̰̦̣̖̳̙͓̔́̀̈̆ͧ͗̓̓̕̕̕̕
当这窜字符串太大的时候浏览器会奔溃是因为它是堆在一起来显示的,所以适当地隔开一些就能缓解这个问题。
Ps: 有时候会输出空文件、或字符串无法转回文件,刷新即可。
Steheven Windows 7 · Google Chrome
g̨̛̪̩̯̮̖͚̙̘̟̗̟͇͙̝̦͖̗ͩ̃̽ͤ̏̄͋ͭ́͌ͨ̓̓͡ơ̷͚̖͚̳̟̤̗̪̂ͪ̎̍dͥ̔̈̉ͪͫͨ̈́̂͊̎̄̆̾̄̽͏̴̜̜̹͙̼̫̣̲̺̳͇͈̰̙̯̻ͅͅͅ ̵̼̙̠̞̪̺̫͉̥̇̅̍͋̒̄̀͢i̸͔͕͇̟͕̥͔̪͇͙̾̍͑͊́ͤ͢s̶̈́͒̌̄̇ͫ̿͊ͯͪ͋͢҉̺̰̭͕̻͕̞͇̥̩̘͓̝̥̣͕̤ͅ ̋̅ͧͥ̑̔ͧ̋̎͆͞͡͠͡͏͉͉͙̩͖̲̬͕̹̺̲͎̗d̷̡͉͇͇̲̩͚̻̬̒̉ͤ̓͢͠e͉̥̬̠̣͈̼̩̬͎̰̺̤͎͎͚̠̥ͧ͐ͣ̓͊͆͌̓ͩ̈̏͟ȃ̵̷͖̣͓̪͉̤̫͈͚̗͔ͩ͋̈́̄̓̑ͭ̓̕d̢̢̖͖̱̗̩̗͍͙͍͕̱̉͊̊̓ͦ͆͋̈́ͯ̐̿̒̕͡ͅ ̴̨̢͑̽͑ͯͧ̏͂̑͗̽̐̽̓͗͑̑̒͂͏̤̹͇̖͍̟̞ͅa̴̸͔̘̦̫̰͎̠̰̰̺̯̱̯ͮ̄̓ͯ͑̏́ͩ̈̚͠͝͠ͅͅͅņ̧͕͈̻͓̺̞͕̱̳͍̬ͬ̿̒̿͑ͪ̓͂͜͝ḑ̛̲̝̦̖̩̘̖̹̤̼͉̒ͮ͛̌ͫ̓̔̈́͛͐ͥ̈ͪ̈́ͪ͞ͅ ̱̟̺̭̲̖̘̻̣̥̙̺͚̪̿ͪ̃͐͗͊͑̃̈́ͨ̊̂̾͆̂̽̀͌̆͜͜w̨̥̳̰͎̱̱̲̯̜͗͗͗̅ͬͭ̑͝͡ͅͅe̮͖̣̤̼̓̄ͣ̎͜͟ ͕̰͚̗̤̪̺̫̠̘̭̳̣͑͗ͣͤ̏̈́͋̀ͬ͞k̄̌ͬ͊̔ͬ̔̒̐̽̾͐ͥ̈ͥ̾̈̍̚҉̛̥̖̩̠̳̘iͫͦ́͗̏̿̀͏̴̨̖̦͇̣̖̳̲ͅl̡̛͙̞͙͚͗ͬ̍͗͆͛ͯͥͫͧͨ̎̄ͧ̽͋̄l͒̒͗͒̈̽ͩ̇̑ͧ͒̒̿ͪ͏̛̞̫̬̘̰̼̙̝̖͞͝͞e͕̬͕̺̭̜͖̬̥ͥ͋̏̾́͡d̨͔̞̺̙͙͕̺͔͎̱ͤ̀ͭ́̚͟͝ ̵̹̟̟̠͔ͫͫ͌ͭͣ͒͘͜h̷͆̈́̑ͭ̄̀ͪ̅̈̏͛̂̀͊̐͗̈̇̀͝҉͕͍͇̫̖̗̰̦̖͍͉̤̥̯͘ͅͅi̡̡͈̱̣̬̟̙̩͈̝͈̙͙̤͗͂ͭ́̉m̆͌ͭ̏͐ͣ͛̏ͮ͆́̌͐̎̈̿̈́͑͋͟͏҉̠͎̳̖̭̱̠̦̹̘̭̰͓͕ͅ
#75 2018-08-13 08:26 回复