zoukankan      html  css  js  c++  java
  • 第37月第30天 windows自带记事本导致文本文件(UTF-8编码)开头三个字符乱码问题

    1.windows自带记事本导致文本文件(UTF-8编码)开头三个字符乱码问题

    https://www.cnblogs.com/zhbzz2007/p/4283194.html

        static Byte utf8HeaderBytes[]    = { 0xEF, 0xBB, 0xBF };
        static Byte utf16leHeaderBytes[] = { 0xFF, 0xFE };
        static Byte utf16beHeaderBytes[] = { 0xFE, 0xFF };
        static Byte utf32leHeaderBytes[] = { 0xFF, 0xFE, 0x00, 0x00 };
        static Byte utf32beHeaderBytes[] = { 0x00, 0x00, 0xFE, 0xFF };
        
        NSData *utf8Header    = [NSData dataWithBytes:utf8HeaderBytes length:sizeof(utf8HeaderBytes)];
        NSData *utf16leHeader = [NSData dataWithBytes:utf16leHeaderBytes length:sizeof(utf16leHeaderBytes)];
        NSData *utf16beHeader = [NSData dataWithBytes:utf16beHeaderBytes length:sizeof(utf16beHeaderBytes)];
        NSData *utf32leHeader = [NSData dataWithBytes:utf32leHeaderBytes length:sizeof(utf32leHeaderBytes)];
        NSData *utf32beHeader = [NSData dataWithBytes:utf32beHeaderBytes length:sizeof(utf32beHeaderBytes)];
        
        if ([self doesData:data startWithHeader:utf32leHeader])
        {
            return NSUTF32LittleEndianStringEncoding;
        }
        else if ([self doesData:data startWithHeader:utf32beHeader])
        {
            return NSUTF32BigEndianStringEncoding;
        }
        else if ([self doesData:data startWithHeader:utf8Header])
        {
            return NSUTF8StringEncoding;
        }

    2.

    各操作系统下,文本文件所使用的换行符是不一样的

    UNIX/Linux使用的是0x0A(LF)

    DOS/Windows一直使用的是0x0D0A(CRLF)作为换行符

    如何使用Notepad将LF转换为CRLF

    使用Notepad打开文件点击“编辑”-“档案格式转换”-“转换为windows格式”

      linux命令 sed -i 's/ $//' filename

    http://blog.itpub.net/28282660/viewspace-2638330/

    3.pod libwep

    https://www.jianshu.com/p/eacd3cee51ac

  • 相关阅读:
    JS 对象定义
    JavaScript HTML DOM 元素(节点)
    DOM 事件
    DOM CSS
    DOM HTML
    DOM 简介
    JS 验证
    JS 错误
    JavaScript Break 和 Continue 语句
    JS While
  • 原文地址:https://www.cnblogs.com/javastart/p/11762989.html
Copyright © 2011-2022 走看看