如何使用JavaScript粘贴原始二进制文件而不会出现“无效字符”错误?

时间:2016-05-11 20:45:52

标签: javascript jasmine karma-jasmine

我需要为解密文件的方法编写单元测试。这是我想要使用的输入:

"19;2
8I?ßλ#®^ò}ÓزÒáÑûÙ³8r¤:zihR@{Òwò+_\ÈC`.D0e´IƧø5\¨¡,
    6ßÔ×q¿ÜEuþ¬ÎÎÜ{GkkÁ4Ôþ\W_ؼV+õɨ±(Ç5
3´\Ì­¦=:¶ßNÉ©6'TÒ
]ÜR°HS7¾èpz;Æ    ^e¶b¼s´CÛMd¨J+Íÿ*IC(p*ä»ìÓ³MÛWpýD«8#
 \îfYO¨oA­y #¡»3~k¤á¶|ºÈ°æßxâa·j\%EëAðÿ*ôPÚ1m/ÜídmuWØ#¹ 4Ö;+3íMøy}'Fh)VREvxáÊ7WCQ§*¨_m!GmHbd¹À)¬g-TyÅÑR,}þ3Ák (Ëq¼¨;^æ¦nW¯Mö®ÎXâcÜü¬Q&ͼà¢Ý´¢/ílgj±ÙÐeÎó/h-/þ«±uÑ#;÷¼ím÷    1ÀBÐóÓ1z©ÄZDdí©¯qݸü)V.§ú­ÇÌ4FÀüºÜwåvÖçQÍN¿A¬
0ßÇ.±>C¢hÍFè    %*©ð/»55õnq÷3è«ýL/ VèûëÄʺmIù¯46¦ñÚ@ÙÍf5½K(Ï
°»Å¡Àþ$Bó¥ º]Pº<v@_·ÖnYÑ¿ó?¯'GfÿÐH¹¾=RêYH´Ä·jÅ(uäþJkw{LôÇ«_L0lÄlLr¹¤å+C?ùÕòÔñǼHaÁG"

当我尝试将此字符串复制并粘贴到我的文件中并使用Karma和PhantomJS运行Jasmine测试时,我的终端会抛出以下错误:Error: Invalid character () in string:

我意识到有特殊字符需要转义 - 但是由于唯一字符集我无法手动转义它们所以我尝试使用online tool来逃避我的内容 - 这会生成以下文本:

\"19;2\r\n8\u0088I?\u0007\u00DF\u00CE\u00BB#\u00AE^\u00F2}\u00D3\u00D8\u00B2\u0011\u0099\u00D2\u00E1\u00D1\u00FB\u00D9\u00B38r\u00A4:zihR@{\u00D2w\u00F2+_\\\u00C8\u008EC`\u0011\f.\u001AD0e\u00B4\u0085\u009FI\u00C6\u00A7\u00F85\\\u00A8\b\u00A1,\r\n\t6\u0098\u00DF\u0017\u00D4\u0083\u00D7q\u00BF\u001E\u00DCEu\u00FE\u00AC\u00CE\u00CE\u0087\u008B\u00DC{\u0013Gkk\u00C1\u00064\u0091\u001E\u00D4\u00FE\u0092\u001B\u0080\\W_\u0012\u001B\u00D8\u00BC\u0097V+\u008A\u0099\u00F5\b\u00C9\u00A8\u0007\u0003\u00B1(\u00C7\u00875\u001D\r\n3\u00B4\\\u00CC\u00AD\u00A6\u0080=\u0081:\u00B6\u00DFN\u00C9\u0097\u00A9\u00986\'T\u00D2\r\n]\u00DCR\u000B\u008D\u0092\u00B0\u0014H\u0010S7\u00BE\u00E8pz\f\u008A;\u00C6\t^\u0081e\u00B6b\u00BCs\u0082\u00B4C\u00DBM\u009Fd\u00A8J+\u00CD\u00FF*\u009EIC(p*\u00E4\u00BB\u00EC\u00D3\u0088\u00B3M\u009D\u00DB\bWp\u00FD\u0098\u001CD\u009A\b\u000F\u00AB8#\u0011\r\n \\\u00EEfYO\u00A8\u0007\u009BoA\u00ADy\u001C\u008A\u0086 #\u00A1\u00BB\u00883\u0014~k\u00A4\u00E1\u0094\u00B6|\u00BA\u00C8\u008B\u00B0\u00E6\u008B\u00DF\u0014\u001Cx\u00E2\u009Ea\u00B7j\u009D\u0088\\%E\u0013\u0083\u001B\u00EBA\u00F0\u00FF*\u00F4P\u00DA\u008D1\u009Bm\/\u008D\u00DC\u00EDdmu\u0093W\u00D8#\u00B9 \u00984\u00D6;+\u00843\u0012\u00EDM\u00F8y}\'Fh)V\u0090REvx\u0090\u00C3\u0010\u00A1\u00CA7\u0006WCQ\u00A7*\u008D\u00A8_m\u001B!GmH\u0097\u008D\u0099bd\u00B9\u00C0\u0019)\u00AC\u0087g\u0096\u008E-T\fy\u0010\u001C\u009D\u00C5\u00D1R,}\u00FE3\u00C1k (\u00CBq\u0094\u00BC\u00A8;^\u00E6\u00A6\u008A\u0002\u001EnW\u0091\u00AF\fM\u00F6\u0013\u00AE\u008C\u009C\u00CEX\u00E2c\u00DC\u00FC\u00ACQ&\u00CD\u00BC\u00E0\u0086\u00A2\u00DD\b\u000B\u00B4\u00A2\u0085\/\u009F\u00EDlgj\u00B1\u00D9\u00D0e\u0003\u00CE\u00F3\/\u009C\u0011h\u0083-\/\u00FE\u00AB\u00B1\u0098\u009Cu\u00D1#\f;\u00F7\u0007\f\u00BC\u00EDm\u009E\u00F7\t1\u00C0B\u0005\u00D0\u00F3\u00D31\u0001\u000Fz\u00A9\u00C4Z\u001DDd\u00ED\u001F\u00A9\u00AFq\u00DD\u00B8\u00FC)V.\u001B\u0014\u00A7\u00FA\u000B\u00AD\u00C7\u00CC4F\u00C0\u008B\u00FC\u00BA\u0091\u00DC\u001Bw\u00E5\u0099v\u00D6\u00E7Q\u00CD\u0094N\u00BF\u001B\u009BA\u00AC\r\n0\u00DF\u00C7.\u00B1>C\u00A2h\u00CDF\u00E8\t%*\u0004\u00A9\u00F0\/\u00BB\u0006\u000355\u00F5\u0001\u0088nq\u00F73\u00E8\u00AB\u00FD\u0007L\/ V\u0005\u00E8\u00FB\u00EB\u00C4\u00CA\u00BA\u0002mI\u008E\u00F9\u00AF4\u00886\u00A6\u00F1\u00DA\u0095@\u00D9\u00CDf5\u00BD\u001BK(\u00CF\r\n\u0080\u00B0\u00BB\u00C5\u009C\u00A1\u00C0\u0092\u00FE$B\u00F3\u008C\u00A5\u008C\t\u00BA]P\u00BA\u009B\u0097<v@_\u00B7\u00D6nY\u0011\u00D1\u00BF\u00F3?\u00AF\u009E\'Gf\u00FF\u001D\u00D0H\u00B9\u009C\u0099\u00BE=R\u0096\u00EA\u008CYH\u00B4\u00C4\u0011\u00B7j\u00C5(u\u000F\u00E4\u00FEJ\u009B\u008B\u001Dk\u0099\u009E\u0011w\u0092{L\u0097\u00F4\u00C7\u00AB\u0083_L0l\u0012\u0085\u00C4lLr\u00B9\u00A4\u00E5+\u0085C?\u00F9\u00D5\u00F2\u00D4\u00F1\u00C7\u00BCHa\u00C1G\"

当我用这个运行我的测试时,我得到了同样的错误。

如何使用JavaScript粘贴二进制文件而不会出现Invalid character错误?

1 个答案:

答案 0 :(得分:1)

您应该可以在每行末尾添加\

&#13;
&#13;
var str = "19;2\
8I?ßλ#®^ò}ÓزÒáÑûÙ³8r¤:zihR@{Òwò+_\ÈC`.D0e´IƧø5\¨¡,\
    6ßÔ×q¿ÜEuþ¬ÎÎÜ{GkkÁ4Ôþ\W_ؼV+õɨ±(Ç5\
3´\Ì­¦=:¶ßNÉ©6'TÒ\
]ÜR°HS7¾èpz;Æ    ^e¶b¼s´CÛMd¨J+Íÿ*IC(p*ä»ìÓ³MÛWpýD«8#\
 \îfYO¨oA­y #¡»3~k¤á¶|ºÈ°æßxâa·j\%EëAðÿ*ôPÚ1m/ÜídmuWØ#¹ 4Ö;+3íMøy}'Fh)VREvxáÊ7WCQ§*¨_m!GmHbd¹À)¬g-TyÅÑR,}þ3Ák (Ëq¼¨;^æ¦nW¯Mö®ÎXâcÜü¬Q&ͼà¢Ý´¢/ílgj±ÙÐeÎó/h-/þ«±uÑ#;÷¼ím÷    1ÀBÐóÓ1z©ÄZDdí©¯qݸü)V.§ú­ÇÌ4FÀüºÜwåvÖçQÍN¿A¬\
0ßÇ.±>C¢hÍFè    %*©ð/»55õnq÷3è«ýL/ VèûëÄʺmIù¯46¦ñÚ@ÙÍf5½K(Ï\
°»Å¡Àþ$Bó¥ º]Pº<v@_·ÖnYÑ¿ó?¯'GfÿÐH¹¾=RêYH´Ä·jÅ(uäþJkw{LôÇ«_L0lÄlLr¹¤å+C?ùÕòÔñǼHaÁG";

console.log(str)
&#13;
&#13;
&#13;

相关问题