1

この例(EWS for Exchange 2010を使用して主催者のカレンダーの予定を取得する)から、UIDからID文字列を取得できます。しかし、問題は私がC#ではなくAndroidで書いたことです。したがって、Javaで文字列を16進配列とBase64文字列に変換するために同じメソッドが必要です。どうすれば入手できますか?

  private static string GetObjectIdStringFromUid( string id )
  {
      var buffer = new byte[ id.Length / 2 ];
      for ( int i = 0; i < id.Length / 2; i++ )
      {
        var hexValue = byte.Parse( id.Substring( i * 2, 2 ), System.Globalization.NumberStyles.AllowHexSpecifier );
        buffer[ i ] = hexValue;
      }
      return Convert.ToBase64String( buffer );
  }

入力例:

00000000F1985146856BD941BA2343776A64673F0700855A223A9715B6468B4D00795E77CAAB00000033E03A0000855A223A9715B6468B4D00795E77CAAB00000034860B0000

出力:

AAAAAPGYUUaFa9lBuiNDd2pkZz8HAIVaIjqXFbZGi00AeV53yqsAAAAz4DoAAIVaIjqXFbZGi00AeV53yqsAAAA0hgsAAA ==

4

2 に答える 2

1

私の理解が正しければ、Java で 16 進文字列を Base64 文字列に変換する方法を探しています。

これは、 Apache Commons Codecライブラリを使用して簡単に実行できます。

String output = new String(Base64.encodeBase64(Hex.decodeHex(input.toCharArray())));
于 2012-04-16T10:47:54.647 に答える