~s-friedemann/tomdroid/sshfs

« back to all changes in this revision

Viewing changes to lib/commons-codec-1.4/apidocs/src-html/org/apache/commons/codec/binary/StringUtils.html

  • Committer: Benoit Garret
  • Date: 2010-03-06 20:39:56 UTC
  • mto: (185.4.1 sync-ui)
  • mto: This revision was merged to the branch mainline in revision 186.
  • Revision ID: benoit.garret_launchpad@gadz.org-20100306203956-k6vlss6hk2d91j4n
Put the signpost and commons-codec libraries in lib/

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<HTML>
 
2
<BODY BGCOLOR="white">
 
3
<PRE>
 
4
<FONT color="green">001</FONT>    /*<a name="line.1"></a>
 
5
<FONT color="green">002</FONT>     * Licensed to the Apache Software Foundation (ASF) under one or more<a name="line.2"></a>
 
6
<FONT color="green">003</FONT>     * contributor license agreements.  See the NOTICE file distributed with<a name="line.3"></a>
 
7
<FONT color="green">004</FONT>     * this work for additional information regarding copyright ownership.<a name="line.4"></a>
 
8
<FONT color="green">005</FONT>     * The ASF licenses this file to You under the Apache License, Version 2.0<a name="line.5"></a>
 
9
<FONT color="green">006</FONT>     * (the "License"); you may not use this file except in compliance with<a name="line.6"></a>
 
10
<FONT color="green">007</FONT>     * the License.  You may obtain a copy of the License at<a name="line.7"></a>
 
11
<FONT color="green">008</FONT>     * <a name="line.8"></a>
 
12
<FONT color="green">009</FONT>     *      http://www.apache.org/licenses/LICENSE-2.0<a name="line.9"></a>
 
13
<FONT color="green">010</FONT>     * <a name="line.10"></a>
 
14
<FONT color="green">011</FONT>     * Unless required by applicable law or agreed to in writing, software<a name="line.11"></a>
 
15
<FONT color="green">012</FONT>     * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.12"></a>
 
16
<FONT color="green">013</FONT>     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.13"></a>
 
17
<FONT color="green">014</FONT>     * See the License for the specific language governing permissions and<a name="line.14"></a>
 
18
<FONT color="green">015</FONT>     * limitations under the License.<a name="line.15"></a>
 
19
<FONT color="green">016</FONT>     */<a name="line.16"></a>
 
20
<FONT color="green">017</FONT>    <a name="line.17"></a>
 
21
<FONT color="green">018</FONT>    package org.apache.commons.codec.binary;<a name="line.18"></a>
 
22
<FONT color="green">019</FONT>    <a name="line.19"></a>
 
23
<FONT color="green">020</FONT>    import java.io.UnsupportedEncodingException;<a name="line.20"></a>
 
24
<FONT color="green">021</FONT>    <a name="line.21"></a>
 
25
<FONT color="green">022</FONT>    import org.apache.commons.codec.CharEncoding;<a name="line.22"></a>
 
26
<FONT color="green">023</FONT>    <a name="line.23"></a>
 
27
<FONT color="green">024</FONT>    /**<a name="line.24"></a>
 
28
<FONT color="green">025</FONT>     * Converts String to and from bytes using the encodings required by the Java specification. These encodings are specified in &lt;a<a name="line.25"></a>
 
29
<FONT color="green">026</FONT>     * href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html"&gt;Standard charsets&lt;/a&gt;<a name="line.26"></a>
 
30
<FONT color="green">027</FONT>     * <a name="line.27"></a>
 
31
<FONT color="green">028</FONT>     * @see CharEncoding<a name="line.28"></a>
 
32
<FONT color="green">029</FONT>     * @see &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html"&gt;Standard charsets&lt;/a&gt;<a name="line.29"></a>
 
33
<FONT color="green">030</FONT>     * @author &lt;a href="mailto:ggregory@seagullsw.com"&gt;Gary Gregory&lt;/a&gt;<a name="line.30"></a>
 
34
<FONT color="green">031</FONT>     * @version $Id: StringUtils.java 801391 2009-08-05 19:55:54Z ggregory $<a name="line.31"></a>
 
35
<FONT color="green">032</FONT>     * @since 1.4<a name="line.32"></a>
 
36
<FONT color="green">033</FONT>     */<a name="line.33"></a>
 
37
<FONT color="green">034</FONT>    public class StringUtils {<a name="line.34"></a>
 
38
<FONT color="green">035</FONT>    <a name="line.35"></a>
 
39
<FONT color="green">036</FONT>        /**<a name="line.36"></a>
 
40
<FONT color="green">037</FONT>         * Encodes the given string into a sequence of bytes using the ISO-8859-1 charset, storing the result into a new<a name="line.37"></a>
 
41
<FONT color="green">038</FONT>         * byte array.<a name="line.38"></a>
 
42
<FONT color="green">039</FONT>         * <a name="line.39"></a>
 
43
<FONT color="green">040</FONT>         * @param string<a name="line.40"></a>
 
44
<FONT color="green">041</FONT>         *            the String to encode<a name="line.41"></a>
 
45
<FONT color="green">042</FONT>         * @return encoded bytes<a name="line.42"></a>
 
46
<FONT color="green">043</FONT>         * @throws IllegalStateException<a name="line.43"></a>
 
47
<FONT color="green">044</FONT>         *             Thrown when the charset is missing, which should be never according the the Java specification.<a name="line.44"></a>
 
48
<FONT color="green">045</FONT>         * @see &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html"&gt;Standard charsets&lt;/a&gt;<a name="line.45"></a>
 
49
<FONT color="green">046</FONT>         * @see #getBytesUnchecked(String, String)<a name="line.46"></a>
 
50
<FONT color="green">047</FONT>         */<a name="line.47"></a>
 
51
<FONT color="green">048</FONT>        public static byte[] getBytesIso8859_1(String string) {<a name="line.48"></a>
 
52
<FONT color="green">049</FONT>            return StringUtils.getBytesUnchecked(string, CharEncoding.ISO_8859_1);<a name="line.49"></a>
 
53
<FONT color="green">050</FONT>        }<a name="line.50"></a>
 
54
<FONT color="green">051</FONT>    <a name="line.51"></a>
 
55
<FONT color="green">052</FONT>        /**<a name="line.52"></a>
 
56
<FONT color="green">053</FONT>         * Encodes the given string into a sequence of bytes using the US-ASCII charset, storing the result into a new byte<a name="line.53"></a>
 
57
<FONT color="green">054</FONT>         * array.<a name="line.54"></a>
 
58
<FONT color="green">055</FONT>         * <a name="line.55"></a>
 
59
<FONT color="green">056</FONT>         * @param string<a name="line.56"></a>
 
60
<FONT color="green">057</FONT>         *            the String to encode<a name="line.57"></a>
 
61
<FONT color="green">058</FONT>         * @return encoded bytes<a name="line.58"></a>
 
62
<FONT color="green">059</FONT>         * @throws IllegalStateException<a name="line.59"></a>
 
63
<FONT color="green">060</FONT>         *             Thrown when the charset is missing, which should be never according the the Java specification.<a name="line.60"></a>
 
64
<FONT color="green">061</FONT>         * @see &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html"&gt;Standard charsets&lt;/a&gt;<a name="line.61"></a>
 
65
<FONT color="green">062</FONT>         * @see #getBytesUnchecked(String, String)<a name="line.62"></a>
 
66
<FONT color="green">063</FONT>         */<a name="line.63"></a>
 
67
<FONT color="green">064</FONT>        public static byte[] getBytesUsAscii(String string) {<a name="line.64"></a>
 
68
<FONT color="green">065</FONT>            return StringUtils.getBytesUnchecked(string, CharEncoding.US_ASCII);<a name="line.65"></a>
 
69
<FONT color="green">066</FONT>        }<a name="line.66"></a>
 
70
<FONT color="green">067</FONT>    <a name="line.67"></a>
 
71
<FONT color="green">068</FONT>        /**<a name="line.68"></a>
 
72
<FONT color="green">069</FONT>         * Encodes the given string into a sequence of bytes using the UTF-16 charset, storing the result into a new byte<a name="line.69"></a>
 
73
<FONT color="green">070</FONT>         * array.<a name="line.70"></a>
 
74
<FONT color="green">071</FONT>         * <a name="line.71"></a>
 
75
<FONT color="green">072</FONT>         * @param string<a name="line.72"></a>
 
76
<FONT color="green">073</FONT>         *            the String to encode<a name="line.73"></a>
 
77
<FONT color="green">074</FONT>         * @return encoded bytes<a name="line.74"></a>
 
78
<FONT color="green">075</FONT>         * @throws IllegalStateException<a name="line.75"></a>
 
79
<FONT color="green">076</FONT>         *             Thrown when the charset is missing, which should be never according the the Java specification.<a name="line.76"></a>
 
80
<FONT color="green">077</FONT>         * @see &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html"&gt;Standard charsets&lt;/a&gt;<a name="line.77"></a>
 
81
<FONT color="green">078</FONT>         * @see #getBytesUnchecked(String, String)<a name="line.78"></a>
 
82
<FONT color="green">079</FONT>         */<a name="line.79"></a>
 
83
<FONT color="green">080</FONT>        public static byte[] getBytesUtf16(String string) {<a name="line.80"></a>
 
84
<FONT color="green">081</FONT>            return StringUtils.getBytesUnchecked(string, CharEncoding.UTF_16);<a name="line.81"></a>
 
85
<FONT color="green">082</FONT>        }<a name="line.82"></a>
 
86
<FONT color="green">083</FONT>    <a name="line.83"></a>
 
87
<FONT color="green">084</FONT>        /**<a name="line.84"></a>
 
88
<FONT color="green">085</FONT>         * Encodes the given string into a sequence of bytes using the UTF-16BE charset, storing the result into a new byte<a name="line.85"></a>
 
89
<FONT color="green">086</FONT>         * array.<a name="line.86"></a>
 
90
<FONT color="green">087</FONT>         * <a name="line.87"></a>
 
91
<FONT color="green">088</FONT>         * @param string<a name="line.88"></a>
 
92
<FONT color="green">089</FONT>         *            the String to encode<a name="line.89"></a>
 
93
<FONT color="green">090</FONT>         * @return encoded bytes<a name="line.90"></a>
 
94
<FONT color="green">091</FONT>         * @throws IllegalStateException<a name="line.91"></a>
 
95
<FONT color="green">092</FONT>         *             Thrown when the charset is missing, which should be never according the the Java specification.<a name="line.92"></a>
 
96
<FONT color="green">093</FONT>         * @see &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html"&gt;Standard charsets&lt;/a&gt;<a name="line.93"></a>
 
97
<FONT color="green">094</FONT>         * @see #getBytesUnchecked(String, String)<a name="line.94"></a>
 
98
<FONT color="green">095</FONT>         */<a name="line.95"></a>
 
99
<FONT color="green">096</FONT>        public static byte[] getBytesUtf16Be(String string) {<a name="line.96"></a>
 
100
<FONT color="green">097</FONT>            return StringUtils.getBytesUnchecked(string, CharEncoding.UTF_16BE);<a name="line.97"></a>
 
101
<FONT color="green">098</FONT>        }<a name="line.98"></a>
 
102
<FONT color="green">099</FONT>    <a name="line.99"></a>
 
103
<FONT color="green">100</FONT>        /**<a name="line.100"></a>
 
104
<FONT color="green">101</FONT>         * Encodes the given string into a sequence of bytes using the UTF-16LE charset, storing the result into a new byte<a name="line.101"></a>
 
105
<FONT color="green">102</FONT>         * array.<a name="line.102"></a>
 
106
<FONT color="green">103</FONT>         * <a name="line.103"></a>
 
107
<FONT color="green">104</FONT>         * @param string<a name="line.104"></a>
 
108
<FONT color="green">105</FONT>         *            the String to encode<a name="line.105"></a>
 
109
<FONT color="green">106</FONT>         * @return encoded bytes<a name="line.106"></a>
 
110
<FONT color="green">107</FONT>         * @throws IllegalStateException<a name="line.107"></a>
 
111
<FONT color="green">108</FONT>         *             Thrown when the charset is missing, which should be never according the the Java specification.<a name="line.108"></a>
 
112
<FONT color="green">109</FONT>         * @see &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html"&gt;Standard charsets&lt;/a&gt;<a name="line.109"></a>
 
113
<FONT color="green">110</FONT>         * @see #getBytesUnchecked(String, String)<a name="line.110"></a>
 
114
<FONT color="green">111</FONT>         */<a name="line.111"></a>
 
115
<FONT color="green">112</FONT>        public static byte[] getBytesUtf16Le(String string) {<a name="line.112"></a>
 
116
<FONT color="green">113</FONT>            return StringUtils.getBytesUnchecked(string, CharEncoding.UTF_16LE);<a name="line.113"></a>
 
117
<FONT color="green">114</FONT>        }<a name="line.114"></a>
 
118
<FONT color="green">115</FONT>    <a name="line.115"></a>
 
119
<FONT color="green">116</FONT>        /**<a name="line.116"></a>
 
120
<FONT color="green">117</FONT>         * Encodes the given string into a sequence of bytes using the UTF-8 charset, storing the result into a new byte<a name="line.117"></a>
 
121
<FONT color="green">118</FONT>         * array.<a name="line.118"></a>
 
122
<FONT color="green">119</FONT>         * <a name="line.119"></a>
 
123
<FONT color="green">120</FONT>         * @param string<a name="line.120"></a>
 
124
<FONT color="green">121</FONT>         *            the String to encode<a name="line.121"></a>
 
125
<FONT color="green">122</FONT>         * @return encoded bytes<a name="line.122"></a>
 
126
<FONT color="green">123</FONT>         * @throws IllegalStateException<a name="line.123"></a>
 
127
<FONT color="green">124</FONT>         *             Thrown when the charset is missing, which should be never according the the Java specification.<a name="line.124"></a>
 
128
<FONT color="green">125</FONT>         * @see &lt;a href="http://java.sun.com/j2se/1.4.2/docs/api/java/nio/charset/Charset.html"&gt;Standard charsets&lt;/a&gt;<a name="line.125"></a>
 
129
<FONT color="green">126</FONT>         * @see #getBytesUnchecked(String, String)<a name="line.126"></a>
 
130
<FONT color="green">127</FONT>         */<a name="line.127"></a>
 
131
<FONT color="green">128</FONT>        public static byte[] getBytesUtf8(String string) {<a name="line.128"></a>
 
132
<FONT color="green">129</FONT>            return StringUtils.getBytesUnchecked(string, CharEncoding.UTF_8);<a name="line.129"></a>
 
133
<FONT color="green">130</FONT>        }<a name="line.130"></a>
 
134
<FONT color="green">131</FONT>    <a name="line.131"></a>
 
135
<FONT color="green">132</FONT>        /**<a name="line.132"></a>
 
136
<FONT color="green">133</FONT>         * Encodes the given string into a sequence of bytes using the named charset, storing the result into a new byte<a name="line.133"></a>
 
137
<FONT color="green">134</FONT>         * array.<a name="line.134"></a>
 
138
<FONT color="green">135</FONT>         * &lt;p&gt;<a name="line.135"></a>
 
139
<FONT color="green">136</FONT>         * This method catches {@link UnsupportedEncodingException} and rethrows it as {@link IllegalStateException}, which<a name="line.136"></a>
 
140
<FONT color="green">137</FONT>         * should never happen for a required charset name. Use this method when the encoding is required to be in the JRE.<a name="line.137"></a>
 
141
<FONT color="green">138</FONT>         * &lt;/p&gt;<a name="line.138"></a>
 
142
<FONT color="green">139</FONT>         * <a name="line.139"></a>
 
143
<FONT color="green">140</FONT>         * @param string<a name="line.140"></a>
 
144
<FONT color="green">141</FONT>         *            the String to encode<a name="line.141"></a>
 
145
<FONT color="green">142</FONT>         * @param charsetName<a name="line.142"></a>
 
146
<FONT color="green">143</FONT>         *            The name of a required {@link java.nio.charset.Charset}<a name="line.143"></a>
 
147
<FONT color="green">144</FONT>         * @return encoded bytes<a name="line.144"></a>
 
148
<FONT color="green">145</FONT>         * @throws IllegalStateException<a name="line.145"></a>
 
149
<FONT color="green">146</FONT>         *             Thrown when a {@link UnsupportedEncodingException} is caught, which should never happen for a<a name="line.146"></a>
 
150
<FONT color="green">147</FONT>         *             required charset name.<a name="line.147"></a>
 
151
<FONT color="green">148</FONT>         * @see CharEncoding<a name="line.148"></a>
 
152
<FONT color="green">149</FONT>         * @see String#getBytes(String)<a name="line.149"></a>
 
153
<FONT color="green">150</FONT>         */<a name="line.150"></a>
 
154
<FONT color="green">151</FONT>        public static byte[] getBytesUnchecked(String string, String charsetName) {<a name="line.151"></a>
 
155
<FONT color="green">152</FONT>            if (string == null) {<a name="line.152"></a>
 
156
<FONT color="green">153</FONT>                return null;<a name="line.153"></a>
 
157
<FONT color="green">154</FONT>            }<a name="line.154"></a>
 
158
<FONT color="green">155</FONT>            try {<a name="line.155"></a>
 
159
<FONT color="green">156</FONT>                return string.getBytes(charsetName);<a name="line.156"></a>
 
160
<FONT color="green">157</FONT>            } catch (UnsupportedEncodingException e) {<a name="line.157"></a>
 
161
<FONT color="green">158</FONT>                throw StringUtils.newIllegalStateException(charsetName, e);<a name="line.158"></a>
 
162
<FONT color="green">159</FONT>            }<a name="line.159"></a>
 
163
<FONT color="green">160</FONT>        }<a name="line.160"></a>
 
164
<FONT color="green">161</FONT>    <a name="line.161"></a>
 
165
<FONT color="green">162</FONT>        private static IllegalStateException newIllegalStateException(String charsetName, UnsupportedEncodingException e) {<a name="line.162"></a>
 
166
<FONT color="green">163</FONT>            return new IllegalStateException(charsetName + ": " + e);<a name="line.163"></a>
 
167
<FONT color="green">164</FONT>        }<a name="line.164"></a>
 
168
<FONT color="green">165</FONT>    <a name="line.165"></a>
 
169
<FONT color="green">166</FONT>        /**<a name="line.166"></a>
 
170
<FONT color="green">167</FONT>         * Constructs a new &lt;code&gt;String&lt;/code&gt; by decoding the specified array of bytes using the given charset.<a name="line.167"></a>
 
171
<FONT color="green">168</FONT>         * &lt;p&gt;<a name="line.168"></a>
 
172
<FONT color="green">169</FONT>         * This method catches {@link UnsupportedEncodingException} and re-throws it as {@link IllegalStateException}, which<a name="line.169"></a>
 
173
<FONT color="green">170</FONT>         * should never happen for a required charset name. Use this method when the encoding is required to be in the JRE.<a name="line.170"></a>
 
174
<FONT color="green">171</FONT>         * &lt;/p&gt;<a name="line.171"></a>
 
175
<FONT color="green">172</FONT>         * <a name="line.172"></a>
 
176
<FONT color="green">173</FONT>         * @param bytes<a name="line.173"></a>
 
177
<FONT color="green">174</FONT>         *            The bytes to be decoded into characters<a name="line.174"></a>
 
178
<FONT color="green">175</FONT>         * @param charsetName<a name="line.175"></a>
 
179
<FONT color="green">176</FONT>         *            The name of a required {@link java.nio.charset.Charset}<a name="line.176"></a>
 
180
<FONT color="green">177</FONT>         * @return A new &lt;code&gt;String&lt;/code&gt; decoded from the specified array of bytes using the given charset.<a name="line.177"></a>
 
181
<FONT color="green">178</FONT>         * @throws IllegalStateException<a name="line.178"></a>
 
182
<FONT color="green">179</FONT>         *             Thrown when a {@link UnsupportedEncodingException} is caught, which should never happen for a<a name="line.179"></a>
 
183
<FONT color="green">180</FONT>         *             required charset name.<a name="line.180"></a>
 
184
<FONT color="green">181</FONT>         * @see CharEncoding<a name="line.181"></a>
 
185
<FONT color="green">182</FONT>         * @see String#String(byte[], String)<a name="line.182"></a>
 
186
<FONT color="green">183</FONT>         */<a name="line.183"></a>
 
187
<FONT color="green">184</FONT>        public static String newString(byte[] bytes, String charsetName) {<a name="line.184"></a>
 
188
<FONT color="green">185</FONT>            if (bytes == null) {<a name="line.185"></a>
 
189
<FONT color="green">186</FONT>                return null;<a name="line.186"></a>
 
190
<FONT color="green">187</FONT>            }<a name="line.187"></a>
 
191
<FONT color="green">188</FONT>            try {<a name="line.188"></a>
 
192
<FONT color="green">189</FONT>                return new String(bytes, charsetName);<a name="line.189"></a>
 
193
<FONT color="green">190</FONT>            } catch (UnsupportedEncodingException e) {<a name="line.190"></a>
 
194
<FONT color="green">191</FONT>                throw StringUtils.newIllegalStateException(charsetName, e);<a name="line.191"></a>
 
195
<FONT color="green">192</FONT>            }<a name="line.192"></a>
 
196
<FONT color="green">193</FONT>        }<a name="line.193"></a>
 
197
<FONT color="green">194</FONT>    <a name="line.194"></a>
 
198
<FONT color="green">195</FONT>        /**<a name="line.195"></a>
 
199
<FONT color="green">196</FONT>         * Constructs a new &lt;code&gt;String&lt;/code&gt; by decoding the specified array of bytes using the ISO-8859-1 charset.<a name="line.196"></a>
 
200
<FONT color="green">197</FONT>         * <a name="line.197"></a>
 
201
<FONT color="green">198</FONT>         * @param bytes<a name="line.198"></a>
 
202
<FONT color="green">199</FONT>         *            The bytes to be decoded into characters<a name="line.199"></a>
 
203
<FONT color="green">200</FONT>         * @return A new &lt;code&gt;String&lt;/code&gt; decoded from the specified array of bytes using the given charset.<a name="line.200"></a>
 
204
<FONT color="green">201</FONT>         * @throws IllegalStateException<a name="line.201"></a>
 
205
<FONT color="green">202</FONT>         *             Thrown when a {@link UnsupportedEncodingException} is caught, which should never happen since the<a name="line.202"></a>
 
206
<FONT color="green">203</FONT>         *             charset is required.<a name="line.203"></a>
 
207
<FONT color="green">204</FONT>         */<a name="line.204"></a>
 
208
<FONT color="green">205</FONT>        public static String newStringIso8859_1(byte[] bytes) {<a name="line.205"></a>
 
209
<FONT color="green">206</FONT>            return StringUtils.newString(bytes, CharEncoding.ISO_8859_1);<a name="line.206"></a>
 
210
<FONT color="green">207</FONT>        }<a name="line.207"></a>
 
211
<FONT color="green">208</FONT>    <a name="line.208"></a>
 
212
<FONT color="green">209</FONT>        /**<a name="line.209"></a>
 
213
<FONT color="green">210</FONT>         * Constructs a new &lt;code&gt;String&lt;/code&gt; by decoding the specified array of bytes using the US-ASCII charset.<a name="line.210"></a>
 
214
<FONT color="green">211</FONT>         * <a name="line.211"></a>
 
215
<FONT color="green">212</FONT>         * @param bytes<a name="line.212"></a>
 
216
<FONT color="green">213</FONT>         *            The bytes to be decoded into characters<a name="line.213"></a>
 
217
<FONT color="green">214</FONT>         * @return A new &lt;code&gt;String&lt;/code&gt; decoded from the specified array of bytes using the given charset.<a name="line.214"></a>
 
218
<FONT color="green">215</FONT>         * @throws IllegalStateException<a name="line.215"></a>
 
219
<FONT color="green">216</FONT>         *             Thrown when a {@link UnsupportedEncodingException} is caught, which should never happen since the<a name="line.216"></a>
 
220
<FONT color="green">217</FONT>         *             charset is required.<a name="line.217"></a>
 
221
<FONT color="green">218</FONT>         */<a name="line.218"></a>
 
222
<FONT color="green">219</FONT>        public static String newStringUsAscii(byte[] bytes) {<a name="line.219"></a>
 
223
<FONT color="green">220</FONT>            return StringUtils.newString(bytes, CharEncoding.US_ASCII);<a name="line.220"></a>
 
224
<FONT color="green">221</FONT>        }<a name="line.221"></a>
 
225
<FONT color="green">222</FONT>    <a name="line.222"></a>
 
226
<FONT color="green">223</FONT>        /**<a name="line.223"></a>
 
227
<FONT color="green">224</FONT>         * Constructs a new &lt;code&gt;String&lt;/code&gt; by decoding the specified array of bytes using the UTF-16 charset.<a name="line.224"></a>
 
228
<FONT color="green">225</FONT>         * <a name="line.225"></a>
 
229
<FONT color="green">226</FONT>         * @param bytes<a name="line.226"></a>
 
230
<FONT color="green">227</FONT>         *            The bytes to be decoded into characters<a name="line.227"></a>
 
231
<FONT color="green">228</FONT>         * @return A new &lt;code&gt;String&lt;/code&gt; decoded from the specified array of bytes using the given charset.<a name="line.228"></a>
 
232
<FONT color="green">229</FONT>         * @throws IllegalStateException<a name="line.229"></a>
 
233
<FONT color="green">230</FONT>         *             Thrown when a {@link UnsupportedEncodingException} is caught, which should never happen since the<a name="line.230"></a>
 
234
<FONT color="green">231</FONT>         *             charset is required.<a name="line.231"></a>
 
235
<FONT color="green">232</FONT>         */<a name="line.232"></a>
 
236
<FONT color="green">233</FONT>        public static String newStringUtf16(byte[] bytes) {<a name="line.233"></a>
 
237
<FONT color="green">234</FONT>            return StringUtils.newString(bytes, CharEncoding.UTF_16);<a name="line.234"></a>
 
238
<FONT color="green">235</FONT>        }<a name="line.235"></a>
 
239
<FONT color="green">236</FONT>    <a name="line.236"></a>
 
240
<FONT color="green">237</FONT>        /**<a name="line.237"></a>
 
241
<FONT color="green">238</FONT>         * Constructs a new &lt;code&gt;String&lt;/code&gt; by decoding the specified array of bytes using the UTF-16BE charset.<a name="line.238"></a>
 
242
<FONT color="green">239</FONT>         * <a name="line.239"></a>
 
243
<FONT color="green">240</FONT>         * @param bytes<a name="line.240"></a>
 
244
<FONT color="green">241</FONT>         *            The bytes to be decoded into characters<a name="line.241"></a>
 
245
<FONT color="green">242</FONT>         * @return A new &lt;code&gt;String&lt;/code&gt; decoded from the specified array of bytes using the given charset.<a name="line.242"></a>
 
246
<FONT color="green">243</FONT>         * @throws IllegalStateException<a name="line.243"></a>
 
247
<FONT color="green">244</FONT>         *             Thrown when a {@link UnsupportedEncodingException} is caught, which should never happen since the<a name="line.244"></a>
 
248
<FONT color="green">245</FONT>         *             charset is required.<a name="line.245"></a>
 
249
<FONT color="green">246</FONT>         */<a name="line.246"></a>
 
250
<FONT color="green">247</FONT>        public static String newStringUtf16Be(byte[] bytes) {<a name="line.247"></a>
 
251
<FONT color="green">248</FONT>            return StringUtils.newString(bytes, CharEncoding.UTF_16BE);<a name="line.248"></a>
 
252
<FONT color="green">249</FONT>        }<a name="line.249"></a>
 
253
<FONT color="green">250</FONT>    <a name="line.250"></a>
 
254
<FONT color="green">251</FONT>        /**<a name="line.251"></a>
 
255
<FONT color="green">252</FONT>         * Constructs a new &lt;code&gt;String&lt;/code&gt; by decoding the specified array of bytes using the UTF-16LE charset.<a name="line.252"></a>
 
256
<FONT color="green">253</FONT>         * <a name="line.253"></a>
 
257
<FONT color="green">254</FONT>         * @param bytes<a name="line.254"></a>
 
258
<FONT color="green">255</FONT>         *            The bytes to be decoded into characters<a name="line.255"></a>
 
259
<FONT color="green">256</FONT>         * @return A new &lt;code&gt;String&lt;/code&gt; decoded from the specified array of bytes using the given charset.<a name="line.256"></a>
 
260
<FONT color="green">257</FONT>         * @throws IllegalStateException<a name="line.257"></a>
 
261
<FONT color="green">258</FONT>         *             Thrown when a {@link UnsupportedEncodingException} is caught, which should never happen since the<a name="line.258"></a>
 
262
<FONT color="green">259</FONT>         *             charset is required.<a name="line.259"></a>
 
263
<FONT color="green">260</FONT>         */<a name="line.260"></a>
 
264
<FONT color="green">261</FONT>        public static String newStringUtf16Le(byte[] bytes) {<a name="line.261"></a>
 
265
<FONT color="green">262</FONT>            return StringUtils.newString(bytes, CharEncoding.UTF_16LE);<a name="line.262"></a>
 
266
<FONT color="green">263</FONT>        }<a name="line.263"></a>
 
267
<FONT color="green">264</FONT>    <a name="line.264"></a>
 
268
<FONT color="green">265</FONT>        /**<a name="line.265"></a>
 
269
<FONT color="green">266</FONT>         * Constructs a new &lt;code&gt;String&lt;/code&gt; by decoding the specified array of bytes using the UTF-8 charset.<a name="line.266"></a>
 
270
<FONT color="green">267</FONT>         * <a name="line.267"></a>
 
271
<FONT color="green">268</FONT>         * @param bytes<a name="line.268"></a>
 
272
<FONT color="green">269</FONT>         *            The bytes to be decoded into characters<a name="line.269"></a>
 
273
<FONT color="green">270</FONT>         * @return A new &lt;code&gt;String&lt;/code&gt; decoded from the specified array of bytes using the given charset.<a name="line.270"></a>
 
274
<FONT color="green">271</FONT>         * @throws IllegalStateException<a name="line.271"></a>
 
275
<FONT color="green">272</FONT>         *             Thrown when a {@link UnsupportedEncodingException} is caught, which should never happen since the<a name="line.272"></a>
 
276
<FONT color="green">273</FONT>         *             charset is required.<a name="line.273"></a>
 
277
<FONT color="green">274</FONT>         */<a name="line.274"></a>
 
278
<FONT color="green">275</FONT>        public static String newStringUtf8(byte[] bytes) {<a name="line.275"></a>
 
279
<FONT color="green">276</FONT>            return StringUtils.newString(bytes, CharEncoding.UTF_8);<a name="line.276"></a>
 
280
<FONT color="green">277</FONT>        }<a name="line.277"></a>
 
281
<FONT color="green">278</FONT>    <a name="line.278"></a>
 
282
<FONT color="green">279</FONT>    }<a name="line.279"></a>
 
283
 
 
284
 
 
285
 
 
286
 
 
287
 
 
288
 
 
289
 
 
290
 
 
291
 
 
292
 
 
293
 
 
294
 
 
295
 
 
296
 
 
297
 
 
298
 
 
299
 
 
300
 
 
301
 
 
302
 
 
303
 
 
304
 
 
305
 
 
306
 
 
307
 
 
308
 
 
309
 
 
310
 
 
311
 
 
312
 
 
313
 
 
314
 
 
315
 
 
316
 
 
317
 
 
318
 
 
319
 
 
320
 
 
321
 
 
322
 
 
323
 
 
324
 
 
325
 
 
326
 
 
327
 
 
328
 
 
329
 
 
330
 
 
331
 
 
332
 
 
333
 
 
334
 
 
335
 
 
336
 
 
337
 
 
338
 
 
339
 
 
340
 
 
341
 
 
342
 
 
343
</PRE>
 
344
</BODY>
 
345
</HTML>