From c67549e58d04f3b7b26e8a352a7f78021c3c5cee Mon Sep 17 00:00:00 2001 From: Tim Windsor Date: Tue, 20 Mar 2012 19:39:53 -0300 Subject: [PATCH 1/2] Update blobToString to support 'binary' encoding. This takes the data String value and decodes it as Base64 then saves the binary result in the Blob. Supporting this additional encoding method means that data expressed as Base64 in Javascript can be converted to binary and then saved in the filesystem. Data URL's like Canvas can then be saved as images. --- .../src/Air/Utilities/src/blackberry/utils/Utilities.as | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/js_api/blackberry.utils/src/Air/Utilities/src/blackberry/utils/Utilities.as b/js_api/blackberry.utils/src/Air/Utilities/src/blackberry/utils/Utilities.as index 976bda9..6a0b023 100644 --- a/js_api/blackberry.utils/src/Air/Utilities/src/blackberry/utils/Utilities.as +++ b/js_api/blackberry.utils/src/Air/Utilities/src/blackberry/utils/Utilities.as @@ -87,6 +87,12 @@ package blackberry.utils base64Encoder.encode(data); ba.writeUTFBytes(base64Encoder.toString()); } + else if (characterSet == "binary") + { + var base64Decoder:Base64Decoder = new Base64Decoder(); + base64Decoder.decode(data); + ba = base64Decoder.toByteArray(); + } else { ba.writeMultiByte(data, characterSet); From 970e2e1bc356682ec3b05e8e244864b4ac965de6 Mon Sep 17 00:00:00 2001 From: Tim Windsor Date: Wed, 27 Jun 2012 12:14:58 -0400 Subject: [PATCH 2/2] Including support for reading binary objects off the system into base64 encoded strings in blobToString(blob, 'binary) --- .../src/blackberry/utils/Utilities.as | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/js_api/blackberry.utils/src/Air/Utilities/src/blackberry/utils/Utilities.as b/js_api/blackberry.utils/src/Air/Utilities/src/blackberry/utils/Utilities.as index 6a0b023..dcdc804 100644 --- a/js_api/blackberry.utils/src/Air/Utilities/src/blackberry/utils/Utilities.as +++ b/js_api/blackberry.utils/src/Air/Utilities/src/blackberry/utils/Utilities.as @@ -58,6 +58,12 @@ package blackberry.utils base64Decoder.decode(ba.readUTFBytes(ba.length)); var tmpByteArray:ByteArray = base64Decoder.toByteArray(); stringResult = tmpByteArray.readUTFBytes(tmpByteArray.length); + } + else if (characterSet == "binary") + { + var base64Encoder:Base64Encoder = new Base64Encoder(); + base64Encoder.encodeBytes(ba); + stringResult = base64Encoder.toString(); } else { @@ -87,12 +93,29 @@ package blackberry.utils base64Encoder.encode(data); ba.writeUTFBytes(base64Encoder.toString()); } - else if (characterSet == "binary") + else if (characterSet == "binary") { var base64Decoder:Base64Decoder = new Base64Decoder(); base64Decoder.decode(data); ba = base64Decoder.toByteArray(); } + else if (characterSet == "none") { + for(var s=0; s