public static boolean validUTF16String()

in lightning-core/src/main/java/org/apache/directmemory/lightning/internal/util/UnicodeUtil.java [221:257]


    public static boolean validUTF16String( CharSequence s )
    {
        final int size = s.length();
        for ( int i = 0; i < size; i++ )
        {
            char ch = s.charAt( i );
            if ( ch >= UNI_SUR_HIGH_START && ch <= UNI_SUR_HIGH_END )
            {
                if ( i < size - 1 )
                {
                    i++;
                    char nextCH = s.charAt( i );
                    if ( nextCH >= UNI_SUR_LOW_START && nextCH <= UNI_SUR_LOW_END )
                    {
                        // Valid surrogate pair
                    }
                    else
                    {
                        // Unmatched high surrogate
                        return false;
                    }
                }
                else
                {
                    // Unmatched high surrogate
                    return false;
                }
            }
            else if ( ch >= UNI_SUR_LOW_START && ch <= UNI_SUR_LOW_END )
            {
                // Unmatched low surrogate
                return false;
            }
        }

        return true;
    }