B2BÍøÂçÈí¼þ

 ÕÒ»ØÃÜÂë
 Á¢¼´×¢²á ÉóºËÍøÕ¾ºÅ:QQ:896757558
ËÑË÷
²é¿´: 6|»Ø¸´: 0
´òÓ¡ ÉÏÒ»Ö÷Ìâ ÏÂÒ»Ö÷Ìâ

AIWROKÈí¼þµÄBase64¹¤¾ß¼¯

[¸´ÖÆÁ´½Ó]

1177

Ö÷Ìâ

1182

Ìû×Ó

7985

»ý·Ö

abc

Rank: 9Rank: 9Rank: 9

»ý·Ö
7985
Ìø×ªµ½Ö¸¶¨Â¥²ã
Â¥Ö÷

AIWROKÈí¼þµÄBase64¹¤¾ß¼¯


AIWROKÈí¼þµÄBase64¹¤¾ß¼¯ B2BÍøÂçÈí¼þ

AIWROKÈí¼þµÄBase64¹¤¾ß¼¯ B2BÍøÂçÈí¼þ

AIWROKÈí¼þµÄBase64¹¤¾ß¼¯ B2BÍøÂçÈí¼þ


  1. /**
  2. * AIWROK Base64 ¹¤¾ß¼¯
  3. * ¼¯ºÏËùÓÐ Base64 Ïà¹ØÓ÷¨£¬º¬ÍêÕûÈÕÖ¾Êä³öºÍ°¸ÀýÑÝʾ
  4. */

  5. // µ¼Èë±ØÒªµÄ Java Àà
  6. importClass(android.util.Base64);
  7. importClass(java.io.FileInputStream);
  8. importClass(java.io.FileOutputStream);
  9. importClass(java.io.File);

  10. // ======================== ¹¤¾ßº¯Êý ========================

  11. /**
  12. * µ¹¼ÆÊ±£¨Ã룩
  13. * @param {number} seconds - µ¹¼ÆÊ±ÃëÊý
  14. */
  15. function countdown(seconds) {
  16.     for (var i = seconds; i >= 1; i--) {
  17.         printl("  ⏳ " + i + " Ãëºó¿ªÊ¼ÏÂÒ»¸öÑÝʾ...");
  18.         sleep.millisecond(1000);
  19.     }
  20.     printl("  ▶ ¿ªÊ¼£¡");
  21. }

  22. /**
  23. * ·Ö¸ôÏß
  24. */
  25. function divider(title) {
  26.     printl("");
  27.     printl("================================================");
  28.     printl("  " + title);
  29.     printl("================================================");
  30. }

  31. // ======================== 1. ͼƬ¶ÔÏóת Base64 ========================

  32. /**
  33. * AIWROK Image ¶ÔÏóת Base64
  34. * @param {object} img - AIWROK µÄ Image ¶ÔÏó
  35. * @returns {string} Base64 ×Ö·û´®
  36. */
  37. function imageToBase64(img) {
  38.     try {
  39.         if (!img) {
  40.             printl("[ERROR] imageToBase64: ´«ÈëµÄͼƬ¶ÔÏóΪ¿Õ");
  41.             return null;
  42.         }
  43.         var base64 = img.toBase64();
  44.         printl("[imageToBase64] ת»»³É¹¦£¬´óС: " + base64.length() + " ×Ö·û");
  45.         return base64;
  46.     } catch (e) {
  47.         printl("[ERROR] imageToBase64 ʧ°Ü: " + e.message);
  48.         return null;
  49.     }
  50. }

  51. // ======================== 2. ͼƬÎļþת Base64 ========================

  52. /**
  53. * ͼƬÎļþת Base64
  54. * @param {string} imagePath - ͼƬÎļþ·¾¶
  55. * @returns {string} Base64 ×Ö·û´®
  56. */
  57. function imageFileToBase64(imagePath) {
  58.     try {
  59.         var file = new File(imagePath);
  60.         if (!file.exists()) {
  61.             printl("[ERROR] imageFileToBase64: Îļþ²»´æÔÚ: " + imagePath);
  62.             return null;
  63.         }

  64.         var fis = new FileInputStream(file);
  65.         var bytes = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, file.length());
  66.         fis.read(bytes);
  67.         fis.close();

  68.         var base64 = Base64.encodeToString(bytes, Base64.NO_WRAP);
  69.         printl("[imageFileToBase64] ת»»³É¹¦£¬Îļþ´óС: " + file.length() + " ×Ö½Ú£¬Base64: " + base64.length() + " ×Ö·û");
  70.         return base64;
  71.     } catch (e) {
  72.         printl("[ERROR] imageFileToBase64 ʧ°Ü: " + e.message);
  73.         return null;
  74.     }
  75. }

  76. // ======================== 3. ×Ö·û´®×ª Base64 ========================

  77. /**
  78. * ×Ö·û´®×ª Base64
  79. * @param {string} str - Òª±àÂëµÄ×Ö·û´®
  80. * @returns {string} Base64 ×Ö·û´®
  81. */
  82. function stringToBase64(str) {
  83.     try {
  84.         var bytes = new java.lang.String(str).getBytes("UTF-8");
  85.         var base64 = Base64.encodeToString(bytes, Base64.NO_WRAP);
  86.         printl("[stringToBase64] ±àÂë³É¹¦: \"" + str + "\" ¡ú " + base64);
  87.         return base64;
  88.     } catch (e) {
  89.         printl("[ERROR] stringToBase64 ʧ°Ü: " + e.message);
  90.         return null;
  91.     }
  92. }

  93. // ======================== 4. Base64 ת×Ö·û´® ========================

  94. /**
  95. * Base64 ת×Ö·û´®
  96. * @param {string} base64Str - Base64 ×Ö·û´®
  97. * @returns {string} ½âÂëºóµÄ×Ö·û´®
  98. */
  99. function base64ToString(base64Str) {
  100.     try {
  101.         var bytes = Base64.decode(base64Str, Base64.NO_WRAP);
  102.         var str = new java.lang.String(bytes, "UTF-8");
  103.         printl("[base64ToString] ½âÂë³É¹¦: " + base64Str.substring(0, Math.min(30, base64Str.length())) + "... ¡ú \"" + str + "\"");
  104.         return str;
  105.     } catch (e) {
  106.         printl("[ERROR] base64ToString ʧ°Ü: " + e.message);
  107.         return null;
  108.     }
  109. }

  110. // ======================== 5. Base64 תͼƬÎļþ ========================

  111. /**
  112. * Base64 תͼƬÎļþ
  113. * @param {string} base64Str - Base64 ×Ö·û´®
  114. * @param {string} outputPath - Êä³öÎļþ·¾¶
  115. * @returns {boolean} ÊÇ·ñ³É¹¦
  116. */
  117. function base64ToImageFile(base64Str, outputPath) {
  118.     try {
  119.         var bytes = Base64.decode(base64Str, Base64.NO_WRAP);
  120.         var fos = new FileOutputStream(outputPath);
  121.         fos.write(bytes);
  122.         fos.flush();
  123.         fos.close();
  124.         printl("[base64ToImageFile] ±£´æ³É¹¦: " + outputPath + "£¬´óС: " + bytes.length + " ×Ö½Ú");
  125.         return true;
  126.     } catch (e) {
  127.         printl("[ERROR] base64ToImageFile ʧ°Ü: " + e.message);
  128.         return false;
  129.     }
  130. }

  131. // ======================== 6. ½ØÍ¼²¢×ª Base64 ========================

  132. /**
  133. * È«ÆÁ½ØÍ¼×ª Base64
  134. * @returns {string} Base64 ×Ö·û´®
  135. */
  136. function screenshotToBase64() {
  137.     try {
  138.         var img = screen.screenShotFull();
  139.         if (!img) {
  140.             printl("[ERROR] screenshotToBase64: ½ØÍ¼·µ»Ø¿Õ");
  141.             return null;
  142.         }

  143.         var base64 = img.toBase64();
  144.         img.recycle();

  145.         printl("[screenshotToBase64] ½ØÍ¼×ªBase64³É¹¦£¬´óС: " + base64.length() + " ×Ö·û");
  146.         return base64;
  147.     } catch (e) {
  148.         printl("[ERROR] screenshotToBase64 ʧ°Ü: " + e.message);
  149.         return null;
  150.     }
  151. }

  152. // ======================== 7. ÇøÓò½ØÍ¼²¢×ª Base64 ========================

  153. /**
  154. * ÇøÓò½ØÍ¼×ª Base64£¨Ê¹Óà Android Bitmap API ²Ã¼ô£©
  155. * @param {number} x - ×óÉÏ½Ç X ×ø±ê£¨ÏñËØ£©
  156. * @param {number} y - ×óÉÏ½Ç Y ×ø±ê£¨ÏñËØ£©
  157. * @param {number} width - ¿í¶È£¨ÏñËØ£©
  158. * @param {number} height - ¸ß¶È£¨ÏñËØ£©
  159. * @returns {string} Base64 ×Ö·û´®
  160. */
  161. function regionScreenshotToBase64(x, y, width, height) {
  162.     try {
  163.         // ÏÈÈ«ÆÁ½ØÍ¼
  164.         var img = screen.screenShotFull();
  165.         if (!img) {
  166.             printl("[ERROR] regionScreenshotToBase64: ½ØÍ¼·µ»Ø¿Õ");
  167.             return null;
  168.         }

  169.         // »ñÈ¡ Bitmap ¶ÔÏó
  170.         var bitmap = img.getBitmap();
  171.         if (!bitmap) {
  172.             printl("[ERROR] regionScreenshotToBase64: »ñÈ¡ Bitmap ʧ°Ü");
  173.             img.recycle();
  174.             return null;
  175.         }

  176.         // ʹÓà Android Bitmap API ²Ã¼ô
  177.         var croppedBitmap = android.graphics.Bitmap.createBitmap(bitmap, x, y, width, height);
  178.         img.recycle();

  179.         if (!croppedBitmap) {
  180.             printl("[ERROR] regionScreenshotToBase64: ²Ã¼ôʧ°Ü");
  181.             return null;
  182.         }

  183.         // תΪ Base64
  184.         var baos = new java.io.ByteArrayOutputStream();
  185.         croppedBitmap.compress(android.graphics.Bitmap.CompressFormat.PNG, 100, baos);
  186.         var bytes = baos.toByteArray();
  187.         var base64 = android.util.Base64.encodeToString(bytes, android.util.Base64.NO_WRAP);
  188.         
  189.         croppedBitmap.recycle();
  190.         baos.close();

  191.         printl("[regionScreenshotToBase64] ÇøÓò½ØÍ¼×ªBase64³É¹¦£¬ÇøÓò: (" + x + "," + y + "," + width + "," + height + ")£¬´óС: " + base64.length() + " ×Ö·û");
  192.         return base64;
  193.     } catch (e) {
  194.         printl("[ERROR] regionScreenshotToBase64 ʧ°Ü: " + e.message);
  195.         return null;
  196.     }
  197. }

  198. // ======================== 8. ͨÓÃÎļþת Base64 ========================

  199. /**
  200. * ͨÓÃÎļþת Base64
  201. * @param {string} filePath - Îļþ·¾¶
  202. * @returns {string} Base64 ×Ö·û´®
  203. */
  204. function fileToBase64(filePath) {
  205.     try {
  206.         var file = new File(filePath);
  207.         if (!file.exists()) {
  208.             printl("[ERROR] fileToBase64: Îļþ²»´æÔÚ: " + filePath);
  209.             return null;
  210.         }

  211.         var fis = new FileInputStream(file);
  212.         var bytes = java.lang.reflect.Array.newInstance(java.lang.Byte.TYPE, file.length());
  213.         fis.read(bytes);
  214.         fis.close();

  215.         var base64 = Base64.encodeToString(bytes, Base64.NO_WRAP);
  216.         printl("[fileToBase64] ת»»³É¹¦: " + filePath + "£¬´óС: " + base64.length() + " ×Ö·û");
  217.         return base64;
  218.     } catch (e) {
  219.         printl("[ERROR] fileToBase64 ʧ°Ü: " + e.message);
  220.         return null;
  221.     }
  222. }

  223. // ======================== 9. Base64 תͨÓÃÎļþ ========================

  224. /**
  225. * Base64 תͨÓÃÎļþ
  226. * @param {string} base64Str - Base64 ×Ö·û´®
  227. * @param {string} outputPath - Êä³öÎļþ·¾¶
  228. * @returns {boolean} ÊÇ·ñ³É¹¦
  229. */
  230. function base64ToFile(base64Str, outputPath) {
  231.     try {
  232.         var bytes = Base64.decode(base64Str, Base64.NO_WRAP);
  233.         var fos = new FileOutputStream(outputPath);
  234.         fos.write(bytes);
  235.         fos.flush();
  236.         fos.close();
  237.         printl("[base64ToFile] ±£´æ³É¹¦: " + outputPath + "£¬´óС: " + bytes.length + " ×Ö½Ú");
  238.         return true;
  239.     } catch (e) {
  240.         printl("[ERROR] base64ToFile ʧ°Ü: " + e.message);
  241.         return false;
  242.     }
  243. }

  244. // ======================== 10. »ñÈ¡ Base64 ÎļþÀàÐÍ ========================

  245. /**
  246. * »ñÈ¡ Base64 ×Ö·û´®µÄÎļþÀàÐÍ
  247. * @param {string} base64Str - Base64 ×Ö·û´®
  248. * @returns {string} ÎļþÀàÐÍ
  249. */
  250. function getBase64FileType(base64Str) {
  251.     try {
  252.         var bytes = Base64.decode(base64Str.substring(0, 100), Base64.NO_WRAP);

  253.         if (bytes[0] == 0x89 && bytes[1] == 0x50 && bytes[2] == 0x4E && bytes[3] == 0x47) {
  254.             printl("[getBase64FileType] ¼ì²âµ½ÀàÐÍ: image/png");
  255.             return "image/png";
  256.         }
  257.         if (bytes[0] == 0xFF && bytes[1] == 0xD8 && bytes[2] == 0xFF) {
  258.             printl("[getBase64FileType] ¼ì²âµ½ÀàÐÍ: image/jpeg");
  259.             return "image/jpeg";
  260.         }
  261.         if (bytes[0] == 0x47 && bytes[1] == 0x49 && bytes[2] == 0x46 && bytes[3] == 0x38) {
  262.             printl("[getBase64FileType] ¼ì²âµ½ÀàÐÍ: image/gif");
  263.             return "image/gif";
  264.         }

  265.         printl("[getBase64FileType] δʶ±ðµÄÎļþÀàÐÍ");
  266.         return "unknown";
  267.     } catch (e) {
  268.         printl("[ERROR] getBase64FileType ʧ°Ü: " + e.message);
  269.         return "unknown";
  270.     }
  271. }

  272. // ======================== 11. fastCapture ½ØÍ¼×ª Base64 ========================

  273. /**
  274. * ¿ìËÙ½ØÍ¼×ª Base64£¨Ê¹Óà screen.screenShotFull£©
  275. * @returns {string} Base64 ×Ö·û´®
  276. */
  277. function fastCaptureToBase64() {
  278.     try {
  279.         var img = screen.screenShotFull();
  280.         if (!img) {
  281.             printl("[ERROR] fastCaptureToBase64: ½ØÍ¼·µ»Ø¿Õ");
  282.             return null;
  283.         }

  284.         var base64 = img.toBase64();
  285.         img.recycle();

  286.         printl("[fastCaptureToBase64] ¿ìËÙ½ØÍ¼×ªBase64³É¹¦£¬´óС: " + base64.length() + " ×Ö·û");
  287.         return base64;
  288.     } catch (e) {
  289.         printl("[ERROR] fastCaptureToBase64 ʧ°Ü: " + e.message);
  290.         return null;
  291.     }
  292. }

  293. // ======================== 12. ͼƬ¶ÔÏóת JpgBase64 ========================

  294. /**
  295. * AIWROK Image ¶ÔÏóת JPG Base64£¨´øÑ¹Ëõ£©
  296. * @param {object} img - AIWROK µÄ Image ¶ÔÏó
  297. * @param {number} quality - JPEG ÖÊÁ¿ 0-100
  298. * @returns {string} Base64 ×Ö·û´®
  299. */
  300. function imageToJpgBase64(img, quality) {
  301.     quality = quality || 80;
  302.     try {
  303.         if (!img) {
  304.             printl("[ERROR] imageToJpgBase64: ´«ÈëµÄͼƬ¶ÔÏóΪ¿Õ");
  305.             return null;
  306.         }
  307.         var base64 = img.toJpgBase64(quality);
  308.         printl("[imageToJpgBase64] JPGѹËõתBase64³É¹¦£¬ÖÊÁ¿: " + quality + "£¬´óС: " + base64.length() + " ×Ö·û");
  309.         return base64;
  310.     } catch (e) {
  311.         printl("[ERROR] imageToJpgBase64 ʧ°Ü: " + e.message);
  312.         return null;
  313.     }
  314. }


  315. // ============================================================
  316. //                    È«²¿¹¦Äܰ¸ÀýÑÝʾ
  317. // ============================================================

  318. function demo() {
  319.     printl("");
  320.     printl("¨X¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨[");
  321.     printl("¨U       AIWROK Base64 ¹¤¾ß¼¯ - È«²¿ÑÝʾ        ¨U");
  322.     printl("¨U          ¹² 12 ¸ö¹¦ÄÜ£¬Öð¸öÑÝʾ              ¨U");
  323.     printl("¨^¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨a");

  324.     // ---- ÑÝʾ 1: ×Ö·û´®×ª Base64 ----
  325.     divider("ÑÝʾ 1/12: ×Ö·û´®×ª Base64");
  326.     var testStr = "Hello, AIWROK!";
  327.     printl("[°¸Àý] ½«×Ö·û´® \"" + testStr + "\" ±àÂëΪ Base64");
  328.     var encoded = stringToBase64(testStr);
  329.     printl("[½á¹û] ±àÂëºó: " + encoded);

  330.     countdown(3);

  331.     // ---- ÑÝʾ 2: Base64 ת×Ö·û´® ----
  332.     divider("ÑÝʾ 2/12: Base64 ת×Ö·û´®");
  333.     printl("[°¸Àý] ½« Base64 ½âÂë»ØÔ­ÎÄ");
  334.     var decoded = base64ToString(encoded);
  335.     printl("[½á¹û] ½âÂëºó: " + decoded);

  336.     countdown(3);

  337.     // ---- ÑÝʾ 3: È«ÆÁ½ØÍ¼×ª Base64 ----
  338.     divider("ÑÝʾ 3/12: È«ÆÁ½ØÍ¼×ª Base64");
  339.     printl("[°¸Àý] ½ØÈ¡È«ÆÁ²¢×ªÎª Base64");
  340.     var screenB64 = screenshotToBase64();
  341.     if (screenB64) {
  342.         printl("[½á¹û] ½ØÍ¼Base64´óС: " + screenB64.length() + " ×Ö·û");
  343.     }

  344.     countdown(3);

  345.     // ---- ÑÝʾ 4: ÇøÓò½ØÍ¼×ª Base64 ----
  346.     divider("ÑÝʾ 4/12: ÇøÓò½ØÍ¼×ª Base64");
  347.     printl("[°¸Àý] ½ØÈ¡ÆÁÄ»×óÉÏ½Ç 540x960 ÇøÓò");
  348.     var regionB64 = regionScreenshotToBase64(0, 0, 540, 960);
  349.     if (regionB64) {
  350.         printl("[½á¹û] ÇøÓò½ØÍ¼Base64´óС: " + regionB64.length() + " ×Ö·û");
  351.     }

  352.     countdown(3);

  353.     // ---- ÑÝʾ 5: fastCapture ½ØÍ¼×ª Base64 ----
  354.     divider("ÑÝʾ 5/12: fastCapture ¿ìËÙ½ØÍ¼×ª Base64");
  355.     printl("[°¸Àý] ʹÓà image.fastCapture() ¿ìËÙ½ØÍ¼");
  356.     var fastB64 = fastCaptureToBase64();
  357.     if (fastB64) {
  358.         printl("[½á¹û] ¿ìËÙ½ØÍ¼Base64´óС: " + fastB64.length() + " ×Ö·û");
  359.     }

  360.     countdown(3);

  361.     // ---- ÑÝʾ 6: ͼƬ¶ÔÏóת Base64 ----
  362.     divider("ÑÝʾ 6/12: ͼƬ¶ÔÏóת Base64");
  363.     printl("[°¸Àý] ½ØÍ¼»ñÈ¡ Image ¶ÔÏóºóת Base64");
  364.     var img = screen.screenShotFull();
  365.     if (img) {
  366.         var imgB64 = imageToBase64(img);
  367.         if (imgB64) {
  368.             printl("[½á¹û] ͼƬ¶ÔÏóBase64´óС: " + imgB64.length() + " ×Ö·û");
  369.         }
  370.         img.recycle();
  371.     }

  372.     countdown(3);

  373.     // ---- ÑÝʾ 7: ͼƬ¶ÔÏóת JPG Base64£¨´øÑ¹Ëõ£© ----
  374.     divider("ÑÝʾ 7/12: ͼƬ¶ÔÏóת JPG Base64£¨´øÑ¹Ëõ£©");
  375.     printl("[°¸Àý] ½ØÍ¼ºóÒÔ 50% ÖÊÁ¿Ñ¹ËõΪ JPG Base64");
  376.     var img2 = screen.screenShotFull();
  377.     if (img2) {
  378.         var jpgB64 = imageToJpgBase64(img2, 50);
  379.         if (jpgB64) {
  380.             printl("[½á¹û] JPGѹËõBase64´óС: " + jpgB64.length() + " ×Ö·û");
  381.             printl("[¶Ô±È] Ô­PNG´óСԼ " + (screenB64 ? screenB64.length() : 0) + " ×Ö·û£¬JPGѹËõºó " + jpgB64.length() + " ×Ö·û");
  382.         }
  383.         img2.recycle();
  384.     }

  385.     countdown(3);

  386.     // ---- ÑÝʾ 8: ½ØÍ¼±£´æÎªÎļþÔÙת Base64 ----
  387.     divider("ÑÝʾ 8/12: ½ØÍ¼±£´æÎļþ ¡ú Îļþת Base64");
  388.     printl("[°¸Àý] ÏȽØÍ¼±£´æµ½Îļþ£¬ÔÙ´ÓÎļþ¶Áȡת Base64");
  389.     var testImgPath = "/sdcard/base64_test.png";
  390.     var img3 = screen.screenShotFull();
  391.     if (img3) {
  392.         img3.save(testImgPath);
  393.         img3.recycle();
  394.         printl("[²½Öè1] ½ØÍ¼Òѱ£´æ: " + testImgPath);

  395.         var fileB64 = imageFileToBase64(testImgPath);
  396.         if (fileB64) {
  397.             printl("[½á¹û] ÎļþBase64´óС: " + fileB64.length() + " ×Ö·û");
  398.         }
  399.     }

  400.     countdown(3);

  401.     // ---- ÑÝʾ 9: ͨÓÃÎļþת Base64 ----
  402.     divider("ÑÝʾ 9/12: ͨÓÃÎļþת Base64");
  403.     printl("[°¸Àý] ½«ÈÎÒâÎļþתΪ Base64");
  404.     var anyFileB64 = fileToBase64(testImgPath);
  405.     if (anyFileB64) {
  406.         printl("[½á¹û] ͨÓÃÎļþBase64´óС: " + anyFileB64.length() + " ×Ö·û");
  407.     }

  408.     countdown(3);

  409.     // ---- ÑÝʾ 10: Base64 תͼƬÎļþ ----
  410.     divider("ÑÝʾ 10/12: Base64 תͼƬÎļþ");
  411.     printl("[°¸Àý] ½«½ØÍ¼µÄ Base64 »¹Ô­ÎªÍ¼Æ¬Îļþ");
  412.     var outputPath = "/sdcard/base64_restored.png";
  413.     if (screenB64) {
  414.         var ok = base64ToImageFile(screenB64, outputPath);
  415.         if (ok) {
  416.             var restoredFile = new File(outputPath);
  417.             printl("[½á¹û] »¹Ô­Í¼Æ¬´óС: " + restoredFile.length() + " ×Ö½Ú");
  418.         }
  419.     }

  420.     countdown(3);

  421.     // ---- ÑÝʾ 11: Base64 תͨÓÃÎļþ ----
  422.     divider("ÑÝʾ 11/12: Base64 תͨÓÃÎļþ");
  423.     printl("[°¸Àý] ½« Base64 »¹Ô­ÎªÍ¨ÓÃÎļþ");
  424.     var outputPath2 = "/sdcard/base64_restored2.png";
  425.     if (screenB64) {
  426.         var ok2 = base64ToFile(screenB64, outputPath2);
  427.         if (ok2) {
  428.             var restoredFile2 = new File(outputPath2);
  429.             printl("[½á¹û] »¹Ô­Îļþ´óС: " + restoredFile2.length() + " ×Ö½Ú");
  430.         }
  431.     }

  432.     countdown(3);

  433.     // ---- ÑÝʾ 12: »ñÈ¡ Base64 ÎļþÀàÐÍ ----
  434.     divider("ÑÝʾ 12/12: »ñÈ¡ Base64 ÎļþÀàÐÍ");
  435.     printl("[°¸Àý] ¼ì²â½ØÍ¼ Base64 µÄÎļþ¸ñʽ");
  436.     if (screenB64) {
  437.         var fileType = getBase64FileType(screenB64);
  438.         printl("[½á¹û] ÎļþÀàÐÍ: " + fileType);
  439.     }

  440.     // ---- ×ܽá ----
  441.     printl("");
  442.     printl("¨X¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨[");
  443.     printl("¨U              È«²¿ 12 ¸öÑÝʾÍê³É£¡             ¨U");
  444.     printl("¨d¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨g");
  445.     printl("¨U 1.  stringToBase64      ×Ö·û´® ¡ú Base64     ¨U");
  446.     printl("¨U 2.  base64ToString      Base64 ¡ú ×Ö·û´®     ¨U");
  447.     printl("¨U 3.  screenshotToBase64  È«ÆÁ½ØÍ¼ ¡ú Base64   ¨U");
  448.     printl("¨U 4.  regionScreenshot    ÇøÓò½ØÍ¼ ¡ú Base64   ¨U");
  449.     printl("¨U 5.  fastCaptureToBase64 ¿ìËÙ½ØÍ¼ ¡ú Base64   ¨U");
  450.     printl("¨U 6.  imageToBase64       ͼƬ¶ÔÏó ¡ú Base64   ¨U");
  451.     printl("¨U 7.  imageToJpgBase64    ͼƬ ¡ú JPG Base64   ¨U");
  452.     printl("¨U 8.  imageFileToBase64   Í¼Æ¬Îļþ ¡ú Base64   ¨U");
  453.     printl("¨U 9.  fileToBase64        Í¨ÓÃÎļþ ¡ú Base64   ¨U");
  454.     printl("¨U 10. base64ToImageFile   Base64 ¡ú ͼƬÎļþ   ¨U");
  455.     printl("¨U 11. base64ToFile        Base64 ¡ú ͨÓÃÎļþ   ¨U");
  456.     printl("¨U 12. getBase64FileType   ¼ì²â Base64 ÀàÐÍ    ¨U");
  457.     printl("¨^¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨T¨a");
  458. }

  459. // Ö±½ÓÔËÐÐÑÝʾ
  460. demo();
¸´ÖÆ´úÂë


»Ø¸´

ʹÓõÀ¾ß ¾Ù±¨

±¾°æ»ý·Ö¹æÔò

¹Ø±Õ

QQ|»ÓªÏúÈí¼þ×ÛºÏÌÖÂÛ|»ÓªÏúÈí¼þÓÐÎʱشð|»ÓªÏúÈí¼þ½Ì³Ì×¨Çø|»ÓªÏúÈí¼þPOST½Å±¾·ÖÏí|»ÓªÏúÈí¼þÆÕͨ½Å±¾·ÖÏí|»ÓªÏúÈí¼þÈí¼þ×ÊѶ|»ÓªÏúÈí¼þ¾«Æ·Èí¼þ|»ÓªÏúÈí¼þ¸üй«¸æ|ÓªÏúÈí¼þ|B2BÈí¼þ|B2BÍøÂçÈí¼þ ( ¾©ICP±¸09078825ºÅ )±¾ÍøÕ¾¿ª·¢µÄÓªÏúÈí¼þÊÇÒ»¿îеÄÍøÂçÓªÏúÈí¼þ£¬Õâ¿îÓªÏú¿ÉÒÔÈ¥ÍøÕ¾Èí¼þ£¬²©¿ÍÈí¼þ£¬B2BÈí¼þ£¬·ÖÀàÐÅÏ¢Íø·¢Ìù£¬¿ÉÒÔÇÀɳ·¢£¬¿ÉÒÔµ½°Ù¶ÈÎÄ¿âÉÏ´«WORDÎĵµ£¬¿ÉÒÔµ½Ò»Ð©ÊÇÏà²áÍøÕ¾×Ô¶¯ÉÏ´«Í¼Æ¬£¬Õâ¸ö×Ô¶¯·¢ÌûÈí¼þ×Ô´øÔÆÖ©Ö룬¼Ó¿ìÊÕ¼£¬ÓÐ6ÖÖ¶Ô½Ó´òÂë½Ó¿Ú£¬·½±ã£¬Ð§Âʸߣ¬Ëٶȿ죬¶øÇÒ¶ÔÍ϶¯µÄÑéÖ¤ÂëÈ«ÍøµÚÒ»¼Ò¶À¼ÒÖ§³Ö£¬È«²¿Ô­´´¼¼Êõ£¬¶À¼ÒÑз¢£¬Õý°æÔ­´´´ø°æÈ¨Èí¼þ¡£Ñ¡ÔñÍòÄÜÓªÏúÈí¼þ£¬¾ÍÑ¡ÔñÁËÒ»ÖÖ׬ǮµÄЧÂÊ£¬´ÓûÓб»³¬Ô½¹ý£¬Ò»Ö±ÔÚŬÁ¦Ñз¢Ð¼¼Êõ¡£·Å·ÉÃÎÏ룬½â·ÅË«ÊÖ£¬À´µã´´Ò⣬³É¾ÍÄãµÄÃÎÏ룬¾ÍÔÚÍòÄÜÓªÏúÈí¼þ¿ªÊ¼

map2

GMT+8, 2026-9-16 07:38 , Processed in 0.083923 second(s), 33 queries .

¿ìËٻظ´ ·µ»Ø¶¥²¿ ·µ»ØÁбí