Converts a sequence of Java characters to a sequence of unicode code points. - Java java.lang

Java examples for java.lang:String Unicode

Description

Converts a sequence of Java characters to a sequence of unicode code points.

Demo Code

/*/*from   ww w. j  a va  2s . c o  m*/
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
//package com.java2s;

public class Main {
    public static void main(String[] argv) throws Exception {
        char[] src = new char[] { 'b', 'o', 'o', 'k', '2', 's', '.', 'c',
                'o', 'm', 'a', '1', };
        int srcOff = 2;
        int srcLen = 2;
        int[] dest = new int[] { 34, 35, 36, 37, 37, 37, 67, 68, 69 };
        int destOff = 2;
        System.out
                .println(toCodePoints(src, srcOff, srcLen, dest, destOff));
    }

    /** Converts a sequence of Java characters to a sequence of unicode code points.
     *  @return the number of code points written to the destination buffer */
    public static int toCodePoints(char[] src, int srcOff, int srcLen,
            int[] dest, int destOff) {
        if (srcLen < 0) {
            throw new IllegalArgumentException("srcLen must be >= 0");
        }
        int codePointCount = 0;
        for (int i = 0; i < srcLen;) {
            final int cp = Character.codePointAt(src, srcOff + i, srcOff
                    + srcLen);
            final int charCount = Character.charCount(cp);
            dest[destOff + codePointCount++] = cp;
            i += charCount;
        }
        return codePointCount;
    }
}

Related Tutorials