精华内容
下载资源
问答
  • STEP | 01采购订单类型未显示 STEP | 02 打开系统的Options设置 STEP | 03 选中可视化1,在控制中勾选显示关键字。 STEP | 04重新运行事务代码 ...

            STEP | 01 采购订单类型未显示
            STEP | 02 打开系统的Options设置

            STEP | 03 选中可视化1,在控制中勾选显示关键字。

            STEP | 04 重新运行事务代码

    展开全文
  • JAVA判断文件编码类型

    千次阅读 2013-09-04 14:18:42
    java读取文件,处理过程中,可能因为文件的编码问题导致了中文乱码。有时需要将UTF-8的改为ANSI的编码。以下代码就可以判断文件是什么编码方式。  主要jar包:cpdetector.jar  下载地址...
    java读取文件,处理过程中,可能因为文件的编码问题导致了中文乱码。有时需要将UTF-8的改为ANSI的编码。以下代码就可以判断文件是什么编码方式。 
    主要jar包:cpdetector.jar  
    下载地址http://cpdetector.sourceforge.net/ 

    同时还需jchardet-1.0.jar这个包,否则detector.add(cpdetector.io.JChardetFacade.getInstance());  会报错; 
    下载地址http://www.jarfinder.com/index.php/jars/versionInfo/40297 

    还有一个antlr.jar,不然运行过程中detector.add(new ParsingDetector(false));会报错; 
    下载地址http://www.java2s.com/Code/Jar/ABC/Downloadantlrjar.htm 

    Java代码   收藏代码
    1. import info.monitorenter.cpdetector.io.ASCIIDetector;  
    2. import info.monitorenter.cpdetector.io.CodepageDetectorProxy;  
    3. import info.monitorenter.cpdetector.io.JChardetFacade;  
    4. import info.monitorenter.cpdetector.io.ParsingDetector;  
    5. import info.monitorenter.cpdetector.io.UnicodeDetector;  
    6.   
    7. import java.io.File;  
    8. import java.nio.charset.Charset;  
    9.   
    10. /** 
    11.  *  
    12.  */  
    13.   
    14. /** 
    15.  * @author weict 
    16.  *  
    17.  */  
    18. public class JudgeFileCode {  
    19.   
    20.     /** 
    21.      * @param args 
    22.      */  
    23.     public static void main(String[] args) {  
    24.         /*------------------------------------------------------------------------  
    25.  
    26.  
    27.           detector是探测器,它把探测任务交给具体的探测实现类的实例完成。  
    28.  
    29.           cpDetector内置了一些常用的探测实现类,这些探测实现类的实例可以通过add方法  
    30.  
    31.           加进来,如ParsingDetector、 JChardetFacade、ASCIIDetector、UnicodeDetector。    
    32.  
    33.           detector按照“谁最先返回非空的探测结果,就以该结果为准”的原则返回探测到的  
    34.  
    35.           字符集编码。  
    36.  
    37.         --------------------------------------------------------------------------*/  
    38.   
    39.         CodepageDetectorProxy detector = CodepageDetectorProxy.getInstance();  
    40.   
    41.         /*-------------------------------------------------------------------------  
    42.  
    43.           ParsingDetector可用于检查HTML、XML等文件或字符流的编码,构造方法中的参数用于  
    44.  
    45.           指示是否显示探测过程的详细信息,为false不显示。  
    46.  
    47.         ---------------------------------------------------------------------------*/  
    48.   
    49.         detector.add(new ParsingDetector(false));//如果不希望判断xml的encoding,而是要判断该xml文件的编码,则可以注释掉  
    50.   
    51.         /*--------------------------------------------------------------------------  
    52.  
    53.            JChardetFacade封装了由Mozilla组织提供的JChardet,它可以完成大多数文件的编码  
    54.  
    55.            测定。所以,一般有了这个探测器就可满足大多数项目的要求,如果你还不放心,可以  
    56.  
    57.            再多加几个探测器,比如下面的ASCIIDetector、UnicodeDetector等。  
    58.  
    59.           ---------------------------------------------------------------------------*/  
    60.   
    61.         detector.add(JChardetFacade.getInstance());  
    62.   
    63.         // ASCIIDetector用于ASCII编码测定  
    64.   
    65.         detector.add(ASCIIDetector.getInstance());  
    66.   
    67.         // UnicodeDetector用于Unicode家族编码的测定  
    68.   
    69.         detector.add(UnicodeDetector.getInstance());  
    70.   
    71.         Charset charset = null;  
    72.   
    73.         File f = new File("文件路径");  
    74.   
    75.         try {  
    76.   
    77.             charset = detector.detectCodepage(f.toURL());  
    78.   
    79.         } catch (Exception ex) {  
    80.             ex.printStackTrace();  
    81.         }  
    82.   
    83.         if (charset != null) {  
    84.   
    85.             System.out.println(f.getName() + "编码是:" + charset.name());  
    86.   
    87.         } else {  
    88.   
    89.             System.out.println(f.getName() + "未知");  
    90.         }  
    91.   
    92.     }  
    93.   
    94. }  



    上面代码中的detector不仅可以用于探测文件的编码,也可以探测任意输入的文本流的编码,方法是调用其重载形式: 


    Java代码   收藏代码
    1. charset=detector.detectCodepage(待测的文本输入流,测量该流所需的读入字节数);   
      


    上面的字节数由程序员指定,字节数越多,判定越准确,当然时间也花得越长。要注意,字节数的指定不能超过文本流的最大长度。 

      判定文件编码的具体应用举例: 
      属性文件(.properties)是Java程序中的常用文本存储方式,象STRUTS框架就是利用属性文件存储程序中的字符串资源。它的内容如下所示: 



    1. #注释语句  

    2. 属性名=属性值  


      读入属性文件的一般方法是: 


    Java代码   收藏代码
    1. FileInputStream ios=new FileInputStream("属性文件名");    
    2.   
    3. Properties prop=new Properties();    
    4.   
    5. prop.load(ios);    
    6.   
    7. ios.close();    





      利用java.io.Properties的load方法读入属性文件虽然方便,但如果属性文件中有中文,在读入之后就会发现出现乱码现象。发生这个原因是load方法使用字节流读入文本,在读入后需要将字节流编码成为字符串,而它使用的编码是“iso-8859-1”,这个字符集是ASCII码字符集,不支持中文编码,所以这时需要使用显式的转码: 
    Java代码   收藏代码
    1. String value=prop.getProperty("属性名");    
    2.   
    3. String encValue=new String(value.getBytes("iso-8859-1"),"属性文件的实际编码");    





      在上面的代码中,属性文件的实际编码就可以利用上面的方法获得。当然,象这种属性文件是项目内部的,我们可以控制属性文件的编码格式,比如约定采用Windows内定的GBK,就直接利用"gbk"来转码,如果约定采用UTF-8,也可以是使用"UTF-8"直接转码。如果想灵活一些,做到自动探测编码,就可利用上面介绍的方法测定属性文件的编码,从而方便开发人员的工作。 
    展开全文
  • 关于runtime的文章中多次提到了类型编码,下边说说类型编码到底是什么鬼。 相关链接: 官方文档一 官方文档二 YYModel 源码历险记<二> 关于变量类型编码 类型编码(Type Encodings) 类型编码(Type ...

    关于runtime的文章中多次提到了类型编码,下边说说类型编码到底是什么鬼。

    相关链接:

    官方文档一
    官方文档二
    YYModel 源码历险记<二> 关于变量类型和编码
    类型编码(Type Encodings)


    类型编码(Type Encoding)
    作为对Runtime的补充,编译器将每个方法的返回值和参数类型编码为一个字符串,并将其与方法的selector关联在一起。这种编码方案在其它情况下也是非常有用的,因此我们可以使用@encode编译器指令来获取它。当给定一个类型时,@encode返回这个类型的字符串编码。这些类型可以是诸如int、指针这样的基本类型,也可以是结构体、类等类型。事实上,任何可以作为sizeof()操作参数的类型都可以用于@encode()。

    char *buf1 = @encode(int **);
    
    char *buf2 = @encode(struct key);
    
    char *buf3 = @encode(Rectangle);

    下表列出了类型代码。注意,当编码一个对象用于归档或分配时,有许多代码时重叠的。然而,在编写编码器时,这里有些代码不能使用。也有些代码可以使用,但不是@encode()所产生的。(关于编码对象的归档和分配的更多信息,可见基础框架引用中NSCode类规范。)

       char *buf1 = @encode(int);
        char *buf2 = @encode(char);
        char *buf3 = @encode(long double);
        char *buf4 = @encode(void);
        char *buf5 = @encode(Class);
        char *buf6 = @encode(id);
        char *buf7 = @encode(char *);
        char *buf8 = @encode(NSArray *);

    输出为:
    这里写图片描述

    重要:Objective-C 不支持long double 类型。@encode(long double) 返回d,和double编码一样。
    数组类型代码是包含在方括号中,在开括号后,数组类型前指定数组中元素的个数。例如,

    float a[] = {1.0, 2.0, 3.0};
    NSLog(@"array encoding type: %s", @encode(typeof(a)));
    输出: array encoding type: [3f] 

    结构在括号中指定,在圆括号中结合。最先列出结构标记,然后是等号和序列中列出的结构的范围代码

    typedef struct example {  
        id   anObject;  
        char *aString;  
        int  anInt;  
    } Example; 

    结构编码如下:

    {example=@*i}  

    对象被当做结构。例如,传递NSObject类名到@encode() 产生如下编码:

    {NSObject=#}  

    NSObject类声明一个实例变量,isa,作为类型类。
    注意:尽管@encode()指令不返回它们,在协议中用来声明方法时,运行时系统使用表6-2中列出的额外编码列表来限定类型。这里写图片描述

    属性类型Property Type

    苹果对每一个变量的类型进行了编码,对方法的类型也进行了编码,于是我们获取到变量的attributes时,就是经过编译器编码后得到的属性。
    我们来写个方法打印下看看到底是什么鬼?

    
    + (NSArray *)properties1{
        NSArray *propertiesArray = [NSMutableArray array];
        // 1.获得所有的属性
        unsigned int outCount = 0;
        objc_property_t *properties = class_copyPropertyList(self, &outCount);
    
        for (int i = 0; i < outCount; i++) {
            objc_property_t property = properties[i];
            NSLog(@"name:%s---attributes:%s",((propertyStruct)property)->name,((propertyStruct)property)->attributes);
    
            //事实上苹果已经给出了我们获取属性attributes的方法
    //        property_getAttributes(property);
    //        property_getName(property);
    
        }
    
        return propertiesArray;
    }

    objc_property_t *properties的原型大概就是这个样子:

    typedef struct property_t {
        const char *name;
        const char *attributes;
    } *propertyStruct;

    所以我们可以用这个方法去获取到属性的名字和描述。打印结果如下:

    2016-09-01 17:38:29.726 RuntimeDemo[45809:23195325] name:name---attributes:T@"NSString",C,N,V_name
    2016-09-01 17:38:29.726 RuntimeDemo[45809:23195325] name:age---attributes:Ti,N,V_age
    2016-09-01 17:38:29.726 RuntimeDemo[45809:23195325] name:father---attributes:T@"NSString",C,N,V_father
    2016-09-01 17:38:29.727 RuntimeDemo[45809:23195325] name:secondModel---attributes:T@"DDSecondModel",&,N,V_secondModel
    2016-09-01 17:38:29.727 RuntimeDemo[45809:23195325] name:thirdModel---attributes:T@"NSArray",&,N,V_thirdModel

    NSLog打印的结果可能有点不一样,其实原型是这样的:

    "T@\"NSArray\",&,N,V_thirdModel"

    中间会多一个@\,这牵扯到c与oc的转换,在OC字符串中 \” -> “,\是转义的意思,不占用字符

    我们试着来看懂一个编码的类型,首先这个T@”NSArray”指的这个变量是NSArray类型,&代表的是retain的在ARC状态下也就是strong类型,N表示的是是nonatomic的,V_thirdModel代表这个变量名是thirdModel,再来看看我们的声明,好像是并不是那么难懂,再来查一查官方文档,对这些字符进行了定义:

    官方文档又给出了一些例子:
    这里写图片描述

    enum FooManChu { FOO, MAN, CHU };
    
    struct YorkshireTeaStruct { int pot; char lady; };
    
    typedef struct YorkshireTeaStruct YorkshireTeaStructType;
    
    union MoneyUnion { float alone; double down; };

    这里写图片描述
    文章开头给出了官方文档地址,可以再去看看。

    展开全文
  • char类型与字符编码

    千次阅读 2014-05-10 20:43:23
    char是字符类型,Java语言对字符采用Unicode字符编码

    char是字符类型,Java语言对字符采用Unicode字符编码。

    由于计算机的内存只能存储二进制数据,因此必须为各个字符进行编码。

    所谓字符编码,是指用一串二进制数据来表示特定的字符。


    1)ASCII字符编码(American Standard Code for Information Interchange-美国信息互换标准代码)

      a)它是一套罗马字母编码

      b)它是现今最通用的单字节编码系统。

      c)它实际上只用了1字节的7位存储字符。

      d)一共能表示128(2的7次方)个字符。

    例程:a的编码为0110 0001,相当于十进制整数97


    2)ISO-8859-1字符编码(又称Latin-1,是国际标准化组织[ISO]为西欧语言中的字符制定的编码)

      a)西欧语言字符编码

      b)1个字节(8位)来为字符编码

      d)与ASCII字符编码兼容。(所谓兼容,是指对于相同的字符,它的ASCII字符编码和ISO-8859-1字符编码相同)


    3)GBK2312字符编码

      a)它是一套简体中文字符编码

      b)共收录7 445个字符。(包括6 763个汉字和682个其他符号)

      c)与ASCII字符编码兼容。


    4)GBK字符编码

      a)是GB2312的扩展。

      b)共收录21 886个字符。(包括汉字区和图形符号区;汉字:21 003)

      c)与GB2312字符编码兼容。


    5)Unicode字符编码(由国际Unicode协会编制)

      a)收录了全世界所有语言文字中的字符

      b)是一种跨平台的字符编码。

      c)Unicode具有两种编码方案。

            1)用2个字节(16位)编码,采用这个编码方案的字符集被称为UCS-2,Java语言采用该编码方案。

            2)用4个字节(32位)编码(实际只用了31位,最高位必须为0),采用这个编码方案的字符集被称为UCS-4.


    6)UTF字符编码(UCS Transformation Format)

      背景:有些操作系统不完全支持16位或32位的Unicode字符编码。

      a)UTF字符编码能够把Unicode字符编码转换为操作系统支持的编码

      b)它包括UTF-8(采用1个字节为单元对UCS进行编码),UTF-7,UTF-16

    例程为UCS-2到UTF-8的字符编码转换方式

    UCS-2字符编码(十六进制)UTF-8字节流(二进制)
    0000-007F0xxxxxxx
    0080-07FF110xxxxx 10xxxxxx
    0800-FFFF1110xxxx 10xxxxxx 10xxxxxx
    “汉“的Unicode字符编码的十六进制数据形式为0x6C49。

    0x6C49在0x0800-FFFF之间,用第四行的模板:1110xxxx 10xxxxxx 10xxxxxx

    将其写为二进制数据形式为:0110 110001 001001 用此代替模板中的x,11100110 10110001 10001001  


    7)Java语言的转义字符

      a)\n:(next)换行字符,将光标定位在下一行的开头。

      b)\t:(tab)垂直制表符,将光标移到下一个制表符的位置。

      c)\r:(ready)回车,将光标定位在当前行的开头;不会跳到下一行。

      d)\\:代表反斜杠字符

      e)\':代表单引号字符

      f)\":代表双引号字符








    展开全文
  • 基础数据类型转换-编码

    千次阅读 2020-03-15 17:42:04
    数据类型间的转换,编码知识
  • Redis数据类型编码

    万次阅读 2020-04-28 18:12:48
    Redis五大数据类型 (一)String 字符串 string是redis最基本的类型,一个key对应一个value。string类型是二进制安全的,意思是redis的string可以包含任何数据,比如图片或者序列化的对象 。string类型是redis最基本...
  • 文本文件的编码方式及内容类型是应用层测试中文本测试关注的重点,常见的文本编码方式为UTF -8、GBK2312、GBK、BIG5、GB18030等等,常见的文本内容类型为TXT、HTML、XML、Torrent、WML、XHTML等。 下面详细介绍下...
  • python编码类型转换及字符集探讨

    千次阅读 2013-12-15 22:23:54
    常常抓取的网页数据信息,邮件收发信息,涉及到文字处理的,都时不时出现编码的问题。终于,觉得有必要认真了解下这个编码过程和出现对应的问题如何解决,在网上找了很多解释和文章,整理了下,并结合实践了一些,...
  • 信息分类编码

    千次阅读 2013-03-05 09:16:28
    信息分类编码  信息分类编码(Information Classifying and Coding)是标准化的一个领域,已发展成了一门学科,有自身的研究对象、研究内容和研究方法。在现代社会中,信息分类和编码是提高劳动生产率和科学...
  • 类型编码(Type Encodings)

    千次阅读 2015-01-03 11:58:36
    当给定一个类型参数,返回一个编码类型字符串。类型可以是一个基本类型如int,指针,结构或联合标记,或任何类型的类名,事实上,都可以作为C sizeof() 运算符的参数。 char *buf1 = @encode(in
  • 信息论实验-信源编码2(Lz编码和算数编码的C++实现)

    万次阅读 多人点赞 2017-08-13 17:21:36
    上一篇文章给出了Huffman编码和Shannon Fano编码编码原理以及C++的程序,程序可以用来实现给任意类型的文件进行无损压缩,缺点是比较耗时,不能作为正常的通用压缩软件来使用,但是作为算法理解,算法思路是没有...
  • 30余种加密编码类型的密文特征分析(建议收藏)

    万次阅读 多人点赞 2020-11-11 18:53:01
    声明:本文只收集了30余种加密编码类型,关于他们的介绍来源于网络,重点讲的是他们的密文特征,还有很多类型没有讲到,后续等我研究明白了再发,转载请注明来源,感谢支持 MD5、sha1、HMAC算法、NTLM等相似加密类型...
  • 全国省份信息编码 //省份数组 $all_region = [ '110000' => '北京市', '120000' => '天津市', '130000' => '河北省', '140000' => '山西省', '
  • java中文乱码问题----常见编码类型

    千次阅读 2016-05-23 20:25:54
    在java里面的编码问题是一个非常常见的问题,最近在玩网络爬虫,在我写的一个最简单的爬虫示例里面,我发现我爬知乎首页和百度百科的源代码出现了乱码。知乎的首页爬出来的数据,中文能正常显示,而百度百科的首页爬...
  • 文章目录一、自编码器(Autoencoder, AE)自编码器的结构和思想结构思想自编码器的作用与类型作用类型二、Tensorflower代码实现普通自编码器多层自编码器卷积自编码器稀疏自编码器 一、自编码器(Autoencoder, AE) ...
  • iOS 类型编码(Type Encodings)

    千次阅读 2015-10-08 17:18:52
    我们可以通过编译器指令 @encode() 来获取一个给定类型编码字符串, Code Meaning c A char i An int s A short l A long l is treated as
  • objective-C运行时编程指南之类型编码

    千次阅读 2013-11-29 22:21:17
    类型编码 为了帮助运行时系统,...当指定类型说明的时候,@encode() 返回一个字符串编码类型。这种类型可以是基本数据类型如int类型,指针类型,标记的结构体或联合体,或类名——任何类型,事实上,只要这种类型可以
  • 文本编码

    万次阅读 2016-03-01 00:05:49
    文本编码 文本编码这个问题自三年前就困扰着我,当时是用Python处理多国语言时出现的bug,最后问题解决了,但其中具体逻辑并不懂。后来零零散散接触了不少资料,算是大致弄明白,记录如下。 unicode与ascii等编码...
  • 视频编码基础–帧的类型

    千次阅读 2013-06-06 09:23:08
    没办法,从头学起吧,先从最基本的学起–帧的类型。 我们都知道视频是由图片构成的,就像早期的胶片电影一样,一幅幅图片连续播放就形成了视频,在视频中我们管这些图片叫帧。在x264中有三种基本的帧类型:I帧、P帧...
  • 这篇文章的目的是希望你能在看完后对字符的编码和子节相关的东西,以及宽字符类型在不同平台之间的处理能有一个清晰的认识,有出入的地方,感谢指正。 字符编码 “电脑只有二进制,人脑才有乱码”,凡是我们...
  • 编码

    千次阅读 多人点赞 2019-07-04 16:49:57
    大多数编码器都使用光学传感器来提供脉冲序列形式的电信号, 这些信号可以依次转换成运动、方向或位置信息编码器依运动方式可分为旋转编码器或是线性编码器;按照读出方式编码器可以分为接触式和非接触式两种;...
  • 信息分类编码技术研究及应用

    千次阅读 2008-01-07 10:27:00
    本文从烟草机械制造企业信息化过程入手,介绍信息分类编码在企业信息化中的重要性, 对信息分类编码技术进行了较为详细的阐述,重点介绍烟草机械制造企业信息分类编码的方法、信息分类编码的原理与编码的内容。...
  • 材料编码是基础中的基础
  • 视频压缩编码和音频压缩编码的基本原理

    万次阅读 多人点赞 2014-06-03 00:01:20
    本文介绍一下视频压缩编码和音频压缩编码的基本原理。其实有关视频和音频编码的原理的资料非常的多,但是自己一直也没有去归纳和总结一下,在这里简单总结一下,以作备忘。
  • HTML - Base64编码图片(Data类型的URI)

    千次阅读 2018-10-18 15:09:50
    因为现代浏览器为包括Base64在内各种编码的图像信息提供了很好的支持。所以data: URI的格式能把Base64或其他数据内嵌在image标签的属性或者CSS中。 为什么我们平常用的比较少呢? 因为这种方式图像的大小会...
  • ASCII编码

    千次阅读 2020-01-11 12:29:50
    ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是最通用的信息交换标准,并等同于国际标准...
  • 那么能否用视频的压缩方式压缩图片,达到上千倍压缩的效果?简单的答案是不能,因为视频压缩时,利用了信息的相关性,能够采用所谓的增量编码,而单一一张图片中,不具有太多的相关性可以利用。
  • URL编码

    千次阅读 2015-03-27 20:42:48
    URL编码 我们知道URL指的的是网址,所谓的URL编码指的是对网址上的不安全的字符,例如中文,进行编码编码后的中文方便在网络上传输。 例如,我们提交一个表单,表单内容如下所示: ...图中,请求信息中的Conte
  • 信源编码与信道编码

    万次阅读 多人点赞 2017-03-26 17:02:44
    但现代通信应用中常见的信源编码方式有:Huffman编码、算术编码、L-Z编码,这三种都是无损编码,另外还有一些有损的编码方式。信源编码的目标就是使信源减少冗余,更加有效、经济地传输,最常见的应用形式就是压缩。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 713,209
精华内容 285,283
关键字:

信息编码的类型