php 调用 java 乱码_解决Java调用php web webService 中文参数乱码

本文介绍了如何在Java调用PHP Web Service过程中处理中文参数乱码的问题。通过提供一个Java的Base64编码示例,展示了如何确保字符串正确编码和解码,特别是使用UTF-8编码以支持中文字符。文章还提及了处理尾部填充和CRLF换行的策略。
摘要由CSDN通过智能技术生成

package com.webservices;   public class Base64_Encode { //对应php里的 base64_decode 方法   private static final String base64code = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"   + "abcdefghijklmnopqrstuvwxyz" + "0123456789" + "+/";   private static final int splitLinesAt = 76;   public static byte[] zeroPad(int length, byte[] bytes) {   // initialized to zero by JVM   byte[] padded = new byte[length];   System.arraycopy(bytes, 0, padded, 0, bytes.length);   return padded;   }   public static String encode(String string) {   String encoded = "";   byte[] stringArray;   try {   // use appropriate encoding string!   stringArray = string.getBytes("UTF-8");   } catch (Exception ignored) {   // use locale default rather than croak   stringArray = string.getBytes();   }   // determine how many padding bytes to add to the output   int paddingCount = (3 - (stringArray.length % 3)) % 3;   // add any necessary padding to the input   stringArray = zeroPad(stringArray.length + paddingCount, stringArray);   // process 3 bytes at a time, churning out 4 output bytes   // worry about CRLF insertions later   for (int i = 0; i > 18) & 0x3f) +   base64code.charAt((j >> 12) & 0x3f) +   base64code.charAt((j >> 6) & 0x3f) +   base64code.charAt(j & 0x3f);   }   // replace encoded padding nulls with "="   return splitLines(encoded.substring(0, encoded.length() -   paddingCount) + "==".substring(0, paddingCount));   }   public static String splitLines(String string) {   String lines = "";   for (int i = 0; i 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值