zoukankan      html  css  js  c++  java
  • 安卓调试工具adb返回的png截图,直接输出到控制台的修复问题

    原始出处:www.cnblogs.com/Charltsing/p/adbpngfix.html

    QQ:564955427

    adb由于兼容性问题,会把0a替换成0d0a输出到控制台,这会造成png图片解析失败。所以,对adb shell screencap -p命令直接返回的数据要进行修复。需要注意的是,不同的手机系统返回的可能是0d0d0a,也可能是0d0a,替换的时候需要注意检查。

    C#代码如下:

    private byte[] Fix0d0d0a(byte[] bytes)
            {
                long length = bytes.Length;
                byte[] bytesfix = new byte[length];
    
                int idx = 0;
                int count = 0;
                int idxFirst0D = 0;
                int idxFirst0A = 0;
                bool is0D = false;
                for (int i = 0; i < length; i++)
                {
                    byte b = bytes[i];
                    if (b == 0x0d && idxFirst0D == 0)
                    {
                        idxFirst0D = i;
                        is0D = true;
                    }
                    if (b == 0x0a && idxFirst0A == 0)
                    {
                        idxFirst0A = i;
                    }
                    if (i > 2 && b == 0x0a && is0D)
                    {
                        count++;
                        idx = idx - (idxFirst0A - idxFirst0D - 1);
                        bytesfix[idx] = b;
                        idx++;
                    }
                    else
                    {
                        bytesfix[idx] = b;
                        idx++;
                    }
                    if (b == 0x0d)
                        is0D = true;
                    else
                        is0D = false;
                }
                byte[] bytesfinal = new byte[length-count* (idxFirst0A - idxFirst0D-1)];
                Buffer.BlockCopy(bytesfix, 0, bytesfinal, 0, bytesfinal.Length);            
                return bytesfinal;
            }
    

      注意:如果是锤子手机,需要去掉前面的字符串。

    有问题欢迎qq联系

  • 相关阅读:
    世界排名第二的web前端框架bulma与Bootstrap框架的选择
    Bootstrap5中文手册翻译完毕
    RabbitMQ 学习一 了解+点对点模式
    仿京东搜索
    ES集成SpringBoot
    ElasticSearch
    权限管理整合springsecurity代码执行过程
    权限管理
    Gateway网关
    canal数据同步 客户端代码实现
  • 原文地址:https://www.cnblogs.com/Charltsing/p/adbpngfix.html
Copyright © 2011-2022 走看看