相同的后台java代码,txt文件解析,安卓解析正常,IOS却是乱码,PC解析也正常....

中文乱码,之所以出现这种现象,根本原因是解析和编码所按照的字符集不 同,而字符集是什么呢?

```

字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。```

注: GB系列中 GBK ==> GB2312 ==>GB18030 (2000年推出,现今最新的中文字符集,Windows系统下创建txt文件默认是该编码,当然也是造成标题问题的源头)'

涉及到字符问题,一般都会牵扯到文件解析等,接下来关于文件的介绍,稍作介绍: 

文件是指.exe,可执行文件(外部命令);.com,可执行文件(内部命令);.cab,是安装盘上的数据打包文件;.dll,动态链接库文件等。

计算机文件(或称文件、电脑档案、档案),是存储在某种长期储存设备上的一段数据流。所谓“长期储存设备”一般指磁盘、光盘、磁带等。其特点是所存信息可以长期、多次使用,不会因为断电而消失。

关于文件的类型与内容

一种重要的文件是文本文件,是由一些字符的串行组成的。二进制文件一般是指除了文本文件以外的文件。

关于文件的储存方式

虽然一个文件表现为一个单一的流,但它经常在磁盘不同的位置存储为多个数据碎片(甚至是多个磁盘)。操作系统会将它们组织成文件系统,每个文件放在特定的文件夹或目录中。

文件是由软件创建的,而且符合特定的文件格式。'

```

不同的文件在序列化成二进制的时候会有不同的文件头,但有些文件没有特定的文件头,比如txt,也有些文件头是重复的,比如4D5A90 EXE 、4D5A90 dll 、4D5A90 OCX 、4D5A90 OLB 、4D5A90 IMM 、4D5A90 IME

```

言归正传,文件编译成二级制文件后,按照http协议传输,设置好头信息后,指定编码,在这里又要引出一个问题, 在文件传输前为什么要设置请求头信息呢?  为什么要指定ContentType呢? 

```

1.不可不知的MIME类型   :    MIME(Multipurpose Internet Mail Extension)类型是一种表示文档的性质和格式的标准化方法。在浏览器中使用MIME类型来告诉服务器确定如何处理文档数据和显示文档,而不是通过文件扩展名。

2.MIME的格式  :  type/subtype

3.MIME嗅探   :   顾名思义,在浏览器(主要为IE)认为文件的MIME类型错误或者没有设置时自动设置正确的MIME类型。你可能会想这样不是挺好的吗? 能避免开发者或者是用户设置了错误的MIME类型,那么这种方式是否成为主流呢?

很遗憾,它有优点,然而弊大于利。

 A -- 它违背了HTTP规范(大概为开发者能够通过设置不同的MIME类型来处理文件)。也因此,这种嗅探也使得用户无法对浏览器处理文件的方式有所选择

 B --  对于具有危险性的可执行文件,一般浏览器将其看为未知类型的二进制文件,因此最多让用户选择下载与否,然而对于具有嗅探的IE浏览器来说,它会设置其为它认为较为正确的MIME类型,这将会导致绕过下载选项而直接使该文件直接在用户电脑运行,这是一个安全问题。这有一篇关于MIME sniffing “助纣为虐”的探讨。

因此,最为合理的是让用户自己设置MIME类型


3 . ContentType  : contentType是实体头,用于指定交互数据(资源)的媒体类型。对于请求头部或者响应头部都能够出现。

contentType:[][,charset][,boundary]

mediaType: 文件MIME类型(非必须是正确的MIME类型

charset:编码标准

boundary:区分每对key/value 的分割线,实质为随机的字符串

能让浏览器正确处理上传的数据通过一定的该设置的MIME类型的规定

```

接下来为何还是乱码呢?  都指定了数据类型,那么接下来了解下IOS的UTI吧

```

IOS为了整合文件传输是对文件指定的类型规范不统一退出的UTI模式, 被认为是下一代MIME

格式为public.xxx(文件后缀名)          详细资料太乱  对ios不了解  有大神欢迎指正

```

最终处理方式:     服务器端解析文件,将内容原封不动内嵌浏览器的方式传入移动端,ios和安卓正常接收但这显然不是最佳方式.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容