Changeset 35938 for lang

Show
Ignore:
Timestamp:
11/18/09 02:26:39 (5 years ago)
Author:
fumokmm
Message:

HatenaHaiku?4J v1.1.4 2009-11-18 1.1.4

StringUtil#encodeで?「+」「.」「-」「*」「_」もURLエンコードするよう修正。

Location:
lang/java/misc/hatenahaiku4j/trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • lang/java/misc/hatenahaiku4j/trunk/build.xml

    r35870 r35938  
    33 
    44        <!-- HatenaHaiku4Jのバージョン --> 
    5         <property name="version" value="1.1.3"/> 
     5        <property name="version" value="1.1.4"/> 
    66 
    77        <!-- 概要 --> 
  • lang/java/misc/hatenahaiku4j/trunk/changelog.txt

    r35870 r35938  
     1HatenaHaiku4J v1.1.4 2009-11-18 1.1.4 
     2        ・StringUtil#encodeで「+」「.」「-」「*」「_」もURLエンコードするよう修正。 
     3 
    14HatenaHaiku4J v1.1.3 2009-11-07 
    25        ・半角スペースが"+"に変換されてしまっていた問題を修正。 
  • lang/java/misc/hatenahaiku4j/trunk/src/hatenahaiku4j/Const.java

    r35870 r35938  
    1111        public static final String API_NAME = "HatenaHaiku4J"; 
    1212        /** バージョン */ 
    13         public static final String VERSION = "v1.1.3"; 
     13        public static final String VERSION = "v1.1.4"; 
    1414 
    1515        /** コロン */ 
  • lang/java/misc/hatenahaiku4j/trunk/src/hatenahaiku4j/util/StringUtil.java

    r35870 r35938  
    4343         * @param str URLEncodeする文字列 
    4444         * @return エンコードされた文字列 
     45         * @see <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLEncoder.html">http://java.sun.com/j2se/1.5.0/docs/api/java/net/URLEncoder.html</a> 
    4546         * @since v1.0.0 
    4647         */ 
     
    4849                String encoded = ""; 
    4950                try { 
    50                         // UTF-8でエンコードしてから半角スペース(+)を%20に変換する 
    51                         encoded = URLEncoder.encode(str, Const.UTF8).replaceAll("\\+", "%20"); 
    52                 } catch ( UnsupportedEncodingException e ) { 
     51                        // UTF-8でエンコードしてから 
     52                        // 「+」を「%20」に(半角スペース)、 
     53                        // 「.」を「%2E」に、 
     54                        // 「-」を「%2D」に、 
     55                        // 「*」を「%2A」に、 
     56                        // 「_」を「%5F」に変換する。 
     57                        encoded = URLEncoder.encode(str, Const.UTF8) 
     58                                .replaceAll("\\+", urlEncodeOther(" ")) 
     59                                .replaceAll("\\.", urlEncodeOther(".")) 
     60                                .replaceAll("-", urlEncodeOther("-")) 
     61                                .replaceAll("\\*", urlEncodeOther("*")) 
     62                                .replaceAll("_", urlEncodeOther("_")) 
     63                        ; 
     64                } catch (UnsupportedEncodingException e) { 
    5365                        // ignore it 
    5466                } 
    5567                return encoded; 
     68        } 
     69 
     70        /** 
     71         * {@link URLEncoder#encode(String, String)}にて変換してくれない文字をエンコードする。 
     72         *  
     73         * @param str エンコードする文字列 
     74         * @since v1.1.4 
     75         * @return 変換後の文字列 
     76         */ 
     77        private static String urlEncodeOther(String str) { 
     78                try { 
     79                        return "%" + String.format("%02x", str.getBytes(Const.UTF8)[0]).toUpperCase(); 
     80                } catch (UnsupportedEncodingException e) { 
     81                        // ignore it 
     82                } 
     83                return ""; 
    5684        } 
    5785