我需要制作一个将UTF-8文件转换为十进制的脚本。在这个过程中,我将在代码中引入一个文件并针对转换机制运行它。我有一个纯粹的UTF-8文件(如果我错了,请纠正我),我将在下面附上。我的主要目的是从UTF-8转换生成短类型整数数据。
00000000: f712 db12 141a ac1c 2018 ee2e 3b20 7a19 ........ ...; z.
00000010: 8f15 2813 c911 ca10 4710 cd0e 980e 3d11 ..(.....G.....=.
00000020: 6a17 3a21 3b30 ab49 e269 ff7f ff7f ff7f j.:!;0.I.i......
00000030: ff7f ff7f ff7f 3067 7b19 67c8 2092 998f ......0g{.g. ...
00000040: 65af edbd 00ad d191 0080 0080 9382 2b91 e.............+.
00000050: 85af 6fba 10b4 1a9f c287 0080 3286 7fa2 ..o.........2...
00000060: 8fd0 5bf9 db15 0228 6433 b33c 3e42 c742 ..[....(d3.<>B.B
00000070: 9f3f 213d d33a bb38 b534 a930 072c 9e26 .?!=.:.8.4.0.,.&
00000080: 8f1e ab14 2609 2aff 44f9 63f7 56f8 65fb ....&.*.D.c.V.e.
00000090: 9d00 bf0a 1b0f 8f13 7917 551b 351f 4f22 ........y.U.5.O"
000000a0: c524 6f25 bc24 5523 d322 5123 de23 f523 .$o%.$U#."Q#.#.#
000000b0: 1224 d023 2924 2a24 e523 6e23 bb22 3422 .$.#)$*$.#n#."4"
000000c0: 5021 0a21 bd1f b01d 751c 021b eb19 e118 P!.!....u.......
000000d0: ac18 7b18 9118 ec18 fc18 a818 f018 7f18 ..{.............
000000e0: 6a18 2918 8417 5c17 fe16 dc15 cd14 5e14 j.)...\.......^.
000000f0: 0514 c513 5213 5513 b613 ec13 4714 9514 ....R.U.....G...
00000100: ee14 a214 8314 4614 9c13 d512 6512 9611 ......F.....e...
00000110: 6110 d20f 7d0f 800f d10f c20f 1710 8f10 a...}...........
00000120: 3b11 da11 8012 9013 1414 7914 8d14 9514 ;.........y.....
00000130: e613 4a13 de12 4d12 9411 7b11 2a11 9310 ..J...M...{.*...
00000140: 2011 6611 9c11 2112 d012 0713 7e13 c313 .f...!.....~...
00000150: 6214 6414 4f14 ad13 d713 4c13 9e12 db11 b.d.O.....L.....
00000160: f910 f810 0411 1411 0511 fb10 7411 8611 ............t...
00000170: d011 7012 3f12 e712 0413 1913 5613 5f13 ..p.?.......V._.
00000180: fb12 b912 a412 8212 6612 4512 8911 6911 ........f.E...i.
00000190: a611 1212 0212 3012 a012 d912 8813 9f13 ......0.........
000001a0: fb13 8514 1214 3a14 7a14 4314 8a14 3314 ......:.z.C...3.
000001b0: e813 b313 fb12 a212 ca12 3912 9412 6612 ..........9...f.
000001c0: c212 7712 3712 2812 4512 cd12 cd12 e312 ..w.7.(.E.......
000001d0: cf12 fc12 3f13 d512 cc12 9012 4912 4012 ....?.......I.@.
000001e0: 4412 4d12 cc11 a611 cd11 f211 dc11 2a12 D.M...........*.
000001f0: 7112 9812 cd12 4713 8313 a513 7c13 a413 q.....G.....|...
00000200: cf13 db13 e213 2b14 1214 1014 bf13 6413 ......+.......d.
hexl-mode中的文件
我遇到的问题是我不确定UTF-8文件类型是什么。我用Google搜索但仍然没有运气。如果没有足够的信息,我将无法为该过程制定算法。哦,请分享您对算法启动和运行所需的代码的想法。我需要尽快启动此脚本并运行读取文件。您将非常感谢您对此问题的贡献。
仅供参考:通过获得短整数,我将能够绘制从检测器接收的信号的图形。初始文件格式为.ht3,我将样本提取为.txt文件格式。 C语言也会很棒(因为我现在就是这样)
更新1 : 我错了utf-8。它是二进制数据。下面是它的原始样本数据。 (我刚收到这些数据)
> ˜€¨ Ó.; zè(… GÕò=j:!;0´I‚iˇˇˇˇˇˇ0g{g»
> íôèeØÌΩ≠—ëÄÄìÇ+ëÖØo∫¥ü¬áÄ2Ü¢è–[˘€(d3≥<>B«Bü?!=”:ª8µ4©0,û&è´& *ˇD˘c˜V¯e˚ùø
> èyU5O"≈$o%º$U#”"Q#fi#ı#$–#)$*$Â#n#ª"4"P!
> !Ω∞uη¨{ëϸ®j)Ñ\˛‹Õ^≈RU∂ÏGïÓ¢ÉFú’eña“}Ä—¬è;⁄ÄêyçïÊJfiMî{*ì
> fú!–~√bdO≠◊Lû€˘¯˚tÜ–p?ÁV_˚π§ÇfEâi¶0†Ÿàü˚Ö:zCä3Ë≥˚¢ 9îf¬w7(EÕÕ„œ¸?’ÃêI@DMöÕÚ‹*qòÕGÉ•|§œ€‚+ødBÄ/”€?W‚µÿ⁄ŒÆ∏‹∂—|†fiè∑mDtÔÒV€÷ ŸÍ´*Û˜ûÃMÀ$`öÇ~^Ñ2\‘n±≥#,&K#ZNÖt˚∫È 3#≈‡”≥õ!û”≠]„(rŸß∞Ø„uâ¶<#0ˇFïfYˇˇˇˇˇ[gÙE…`óˇí¿≤ǬiØ√ëÄÄZźëüØǺrµxû^áÄ
> ã.ƃ◊@˛H$\/¬9˙@ÊB@2=x:u7æ3/ü*Ï$èı“˛'˘v˜‚¯/˚°ëSî<T∑"≈$Ø%%$…"s#u# #Ï#e#˜#Ò#˘#~#¢"≥""!®ä¸∑6b”}®.T8–?rÛ)íËJ¢~¯∞o§d∆Ä+f-flxLÜ°€S4D›£W´≥º(áNŒ‰Y«“i~ev0ó¨6¯s—@Ïô&~•ë›¿ì§◊Íyîܶ[0∆ø‹ä€MEf±ÿÙù7*ü·Ÿß¶LP∞/%,†VT+ó≠ÕhÕÃÒîπ¶ ôu4wè˘…SJ~èáM∏È¥í¨µ¬¢ùJÙˇ∞ÜûAÅâÖt4:m
> úx,˚Ÿ´fi≠ˇ˝BA~Ca1Ô}óAÄjm»∑ºö‡ªqwYG¶ùfi◊π{‹≥¬=L=æ
> ıˇ∂—◊flŸ—‚Ë‘¬SA˛˜˛4£*ŸÙ“„x√˘¡7òˆ°è)ª:UXˇˇˇˇˇˇˇ4ñfi”ôtâh≠‹¡Ñ≥úîÄÄÄÇÉ©3º®∏ê•oâÄJÉx§‘–›˜veá',2Á;ZB[CÍAe>Ñ983¨-_(s$è-@Å˛,¯€ıI˜H˙˘˛:v Éohj!Ò#%÷$j#ç"7#3#ñ#Ö#6#À#C$$”#›"\""{!
> t=Z|ôNU
> s7.g|A»÷ÁãÇÒ;˛ˇfl„kìúØõxB≈æÈ"®Äô3ùyœS>së ó—}-vä_jP‡>EŸÌÒ–Gı|⁄≤O!˛ÏeôÌVwóÔÓ¸‹µüÑEtP˜cw£
> %jòï·‚”¿6™.Á‹éAÊ∆⁄TR?Wøƒ≤Çú—R7-_:O9a(1ógüΩ=-úÂæÌ—ºâôt©U.
> XÄ0=YR|tŒ¶<Êõèf •ÕJ|)bJ]pA=‰¸π’‚˙›
> F
> ÙÛtm†œ„¢>®∞¡£∏êj>~˝$˝N=’œı≈í ∑âflIQ¢*√¯˜≈ó¡˛
> û¨|è+B>^ˇˇˇˇˇˇˇAÔÈ ¢Sô‘´
> ºz∞çÄÄÄtàp´ó∏Ö±rô§ÉÄ∏Ñr•≈Œãı˛'0!9N@ÑBºAô>k8Q1™*&#: áˇ¯Kˆx˜z˚û~µblV9Ò
> o#∫$˙#´""q"`#…#∂#„# $X$<$é#fl"ñ"Ú h
> {44&ë0®5xÇZlíp¬Øzü-9);Óh8%jÆä°à‰|Öß<j ∑ñ Bc±«PìÁœ∑ÅùSüó;)¿!ñ∫©XÒ™>◊¢9µ⁄)-uÏJyƒ
> ⁄ÊÑò⁄íyQ⁄Äpp´çΩ⁄“
此文件之前的文件处于hexl模式。这是否意味着它是十六进制的?
答案 0 :(得分:1)
从所有评论中我认为我已经猜到了你想要的东西。
但有一件事是肯定的:你的问题与UTF-8完全无关。
您的文件以以下字节开头:f7 12 db 12 14 1a ac 1c
并且正如有人评论文件中的前4个未签名短片可能是4855, 4859, 6676, 7340
,这对于您想要在图形中表示的数据来说似乎是合理的。
Hexadecimal decimal
---------------------
12f7 4855
12db 4859
141a 6676
ac1c 7340
你可能会在这里看到一个模式。
所以这就是你需要在peudocode中做的事情:
重复直到文件结尾:
b1
和b2
(b2 << 8) | b1
前2个字节发生的情况示例:
f7
中的b1
和12
中的b2
。b2 << 8
为1200
,1200 | f7
为12f7
,小数为4855
。