转:查看oracle数据库dmp文件的字符集信息

oracle的dmp文件的第2,第3字节记录了字符集信息

windows环境下我们可以通过winhex来查看,winhex支持4G以上大文件的秒速打开

如果你有java环境,也可以用java来读取dmp文件的字节信息

    import java.io.FileInputStream;
     
    public class ReadDmpCharsetBytes {
     
      public static void main(String[] args) throws Exception {
        byte[] bytes = new byte[3];
        new FileInputStream("F:/xxx.dmp").read(bytes);
        String bytestr = String.format("%02x", bytes[1]) + String.format("%02x", bytes[2]);
        System.out.println(bytestr);
        System.out.println("select nls_charset_name(to_number('" + bytestr + "','xxxx')) from dual");
      }
     
    }


获取字节信息后,我们可以用sql来查询对应的字符集名称

例如 0354对应的是ZHS16GBK, 0369对应的是AL32UTF8

select nls_charset_name(to_number('0354','xxxx')) from dual

如果想偷懒,就直接访问这个https://hexed.it/

看下图操作,读4G的文件字节码也这么快,对应dmp的第二字节是03第三字节是69

 

 


---------------------
作者:bibibaba556
来源:CSDN
原文:https://blog.csdn.net/bibibaba556/article/details/52955943
版权声明:本文为博主原创文章,转载请附上博文链接!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值