男男做h的视频网站,教资注册网站,深圳市企业网络推广平台,百度收录哪些网站上一篇博客#xff1a;从字节理解Unicode#xff08;UTF8/UTF16)。这次我将从C# code 中再一次阐述上篇博客的内容。 C# 代码看UTF8 代码如下#xff1a; string test UTF-8你; //把字符转换为 byte[] byte[] bytearray_UTF8 Encoding.UTF8.GetBytes(test)…上一篇博客从字节理解UnicodeUTF8/UTF16)。这次我将从C# code 中再一次阐述上篇博客的内容。 C# 代码看UTF8 代码如下 string test UTF-8你; //把字符转换为 byte[] byte[] bytearray_UTF8 Encoding.UTF8.GetBytes(test); // byte[] to 16 进制的字符形式 String hexString BitConverter.ToString(bytearray_UTF8); 运行后的结果hexString 就是55-54-46-2D-38-E4-BD-A0字符你占3个字节3个字节为E4-BD-A0。 完全符合上篇博客用txt分析的结果。请参考上篇博客。从字节理解UnicodeUTF8/UTF16) C# 代码看UTF16 代码如下 string test UTF-8你; //把字符转换为 UTF16 byte[] byte[] bytearray_Unicode Encoding.Unicode.GetBytes(test); //byte[] to 16 进制的字符形式 String hexString_UTF16 BitConverter.ToString(bytearray_UTF8); 运行后的结果hexString_UTF16就是55-00-54-00-46-00-2D-00-38-00-60-4F字符你占2个字节3个字节为60-4F。Widnwos.net默认Unicode是UTF16 完全符合上篇博客用txt分析的结果。当然字节序也完全一样因为我的CPU是intel的注定是低字节序。请参考上篇博客从字节理解UnicodeUTF8/UTF16) 从C#代码String 类和从文本角度查看二进制角度得到的结果是完全一致的。当然这也不难理解无论从String类角度还是文本角度他们使用的都是UTF8/UTF16。那么他们从字节角度都应该得到一致的结果。 从字节角度看图片和视频 那么从一个文本文件的二进制然后在知道这个文本用的是UTF8/UTF16其实很多情况我们可以判断出一个文本文件的编码是UTF8或者UTF16就可以从二进制的角度去理解和修改文本文件。这样即使你把文本文件损坏然后修复者按照这样的方式可以把大部分的文本修复回来只要损坏程度不高理解起来完全没有问题。 那么或许你会问那么图片和视频呢他们不也是一个一个的字节吗那么我可以从字节角度去理解或者修复一副图片和一个视频文件吗 读到这里你是不是想到一个TED演讲说的是一个摄影师照相机被人偷走最后找到相机但是文件都被删除了于是他求助数据修复师最后得到一些非常奇怪的图片然后他就办了一个这样照片的展览。 那么当然是可以得。但是实际操作起来是很麻烦的。因为图片和视频都有复杂的格式格式决定他们是如何存储和读取信息的。类似于字符的UTF8/UTF16。图片有JPG等等格式你必须理解这样格式是怎么编码的你才能去正确的修改图片。 感兴趣的话可以参考以下文章。 JPEG编解码过程详解 http://www.zhihu.com/question/22293783 转载于:https://www.cnblogs.com/zizifn/p/4734456.html