Articles of base64

有效数字String上的NumberFormatException

我已经看到了其他一些问题,但错误与字符串中的前导0有关。 不幸的是,这不是我的情况。 我从base64格式的外部源接收加密数据,然后解码它(使用包含的Base64库,因为android sdk版本是7),解密消息,毕竟我有一个数字格式的简单字符串。 当我尝试将其Integer为Long或Integer我收到此错误: java.lang.NumberFormatException: Invalid long: “2551122” at java.lang.Long.invalidLong(Long.java:125) at java.lang.Long.parse(Long.java:362) at java.lang.Long.parseLong(Long.java:353) at java.lang.Long.parseLong(Long.java:319) at com.nzn.lol.LoginActivity$LoginTask.doInBackground(LoginActivity.java:98) at com.nzn.lol.LoginActivity$LoginTask.doInBackground(LoginActivity.java:1) at android.os.AsyncTask$2.call(AsyncTask.java:264) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) at java.util.concurrent.FutureTask.run(FutureTask.java:137) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 要检查输入我使用的打印,它实际上是字符串“2551122”。 当我尝试检查相等性时,它也是不正确的 “2551122”.equals(numberAsString) // Gives me false 我认为这是一个编码问题,并试图采用解码的字节并在几个编码中创建字符串,也试图用相同的几个编码解码base64字符串中的字节,但仍然不知道是什么导致了这个错误。 请任何帮助表示赞赏 UPDATE 这是用于解密字符串的代码(Encryptor类): private static byte[] decrypt(byte[] raw, byte[] encrypted) throws Exception { SecretKeySpec skeySpec = […]

Android将base64编码的字符串转换为图像视图

我想将base64编码的字符串转换为位图,所以我可以把它放在图像视图中,但得到的错误就像 D / skia(7490):— decoder-> decode返回false,位图返回null值 我的代码是: byte[] imageAsBytes = Base64.decode(imageData); image.setImageBitmap(BitmapFactory.decodeByteArray(imageAsBytes, 0, imageAsBytes.length));

Apache的Base64.encodeBase64和Android的Base64.encode与Base64.Default标志有什么区别吗?

示例A(使用org.apache.commons.codec.binary.Base64): Base64.encodeBase64(“foobar”.getBytes()); 示例B(使用android.util.Base64): Base64.encode(“foobar”.getBytes(), Base64.DEFAULT); 这些产生相同的字符串吗?

如何将video转换为base64数据

我有一个应用程序,从相机或画廊的video,并将其转换成base64数据,并将数据发送到服务器,但问题是,每当我转换base64的数据,这将是不正确的数据videodatavariables。 为此,我使用下面的代码: FileInputStream objFileIS = null; try { System.out.println("file = >>>> <<<<<" + selectedImagePath); objFileIS = new FileInputStream(selectedImagePath); } catch (FileNotFoundException e) { e.printStackTrace(); } ByteArrayOutputStream objByteArrayOS = new ByteArrayOutputStream(); byte[] byteBufferString = new byte[1024]; try { for (int readNum; (readNum = objFileIS.read(byteBufferString)) != -1;) { objByteArrayOS.write(byteBufferString, 0, readNum); System.out.println("read " + readNum + " […]

如何将位图转换为Base64string

我正在开发一个Android应用程序,将Base64string图像上传到Web服务器。 因此,我已经使用下面的代码将位图转换为Base64string。 public String getEncoded64ImageStringFromBitmap(Bitmap bitmap) { ByteArrayOutputStream stream = new ByteArrayOutputStream(); bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); byte[] byteFormat = stream.toByteArray(); String imgString = Base64.encodeToString(byteFormat, Base64.NO_WRAP); return imgString; } 例如,我需要转换这个图像 。 转换后,我没有得到我所期望的Base64string。 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 真正的Base64string应该是这个(我用这个网站来转换) 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 我的转换有什么问题? 谢谢 !

如何在android项目api 3(android 1.5)中使用Base64(包括在android自api 8(2.2))?

我需要在我的应用程序上使用Base64(导入android.util.Base64;)但Base64被包括在2.2与api lvl8的Android。然后,当我做导入我得到这个错误:Base64无法parsing,并没有给我导入它的可能性,因为我正在使我的项目与API lvl 3.由于某些原因,我的应用程序必须与旧版本的Android(1.5 1.6等..)兼容。 有可能使用Base64而不迁移到API lvl8?

canvas.toDataURL不会导致图像/ jpeg数据

我正在尝试使用base64 + phonegap 2.5将html5 canvas数据保存到服务器。 平台 :Windows Phone 7和8,Android和IOS。 基本的图像大小调整需要在发送服务器之前优化数据。 我有问题与Android平台base64响应方法如下 问题 : Android 4.2:我写了这个代码c.toDataURL("image/jpeg"); 但是我得到这个data:image/png;base64 Android 2.3:我无法检索base64数据 我做错了什么?

Base64从Android / Java上传到RoR Carrierwave

我使用CarrierWave添加了使用base64图像的解决scheme,以从java类上传图像。 现在这是我的FileUploader类看起来像 – 我相信是问题的地方: # encoding: utf-8 class FileUploader < CarrierWave::Uploader::Base # Include RMagick or MiniMagick support: include CarrierWave::RMagick # include CarrierWave::MiniMagick # Choose what kind of storage to use for this uploader: storage :file # storage :fog #START FROM BASE64 POST LINKED ABOVE class FilelessIO < StringIO attr_accessor :original_filename attr_accessor :content_type end before :cache, […]

在Android上转换Base64中的文件(<100Mo)

我想从SD卡转换为Base64文件,但似乎文件太大,我得到一个OutOfMemoryError。 这是我的代码: InputStream inputStream = null;//You can get an inputStream using any IO API inputStream = new FileInputStream(file.getAbsolutePath()); byte[] bytes; byte[] buffer = new byte[8192]; int bytesRead; ByteArrayOutputStream output = new ByteArrayOutputStream(); try { while ((bytesRead = inputStream.read(buffer)) != -1) { output.write(buffer, 0, bytesRead); } } catch (IOException e) { e.printStackTrace(); } bytes = output.toByteArray(); […]

如何使用JSON和PHP的BLOB?

我有一个使用MySQL的远程数据库,并且将我应用程序用户的照片作为LONGTEXTtypes的数据库行存储在数据库中。 我使用Base64将照片转换为string。 我用JSON和PHP连接到我的远程数据库,因为这个,我必须使用Base64,因为据我所知,JSON和PHP需要发送参数的string,并与Base64我可以将照片转换成string。 它工作正常,但速度很慢。 当我加载100 KB的照片时,需要花费很多时间,但是当我加载5 KB的照片时,只需要两三秒。 一个朋友告诉我使用BLOB而不是Base64,但是如何使用带有JSON的BLOB和数据库的PHP连接呢? 另外,我需要将图像存储在表USER的一行上。 这是因为用户没有权限将file upload到远程服务器,但他们可以上传照片,将其上传为USER表中的一行string。 谢谢 编辑: 这是代码,它需要一个等待的时间(它等待在线: while ((line = reader.readLine()) != null) { ,它正在等待reader.readLine() ) 这段代码从远程数据库中获取一个用户,需要一段时间才能在用户的应用上显示用户 public Friend RetrieveOneUser(String email) { Friend friend=null; String result = ""; //the parameter data to send ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("email",email)); //http post InputStream is=null; try{ HttpClient httpclient = […]