Package org.python.core

## Class PyUnicode

- java.lang.Object
- - org.python.core.PyObject
  - - org.python.core.PySequence
    - - org.python.core.PyBaseString
      - - org.python.core.PyString
        - - org.python.core.PyUnicode

- All Implemented Interfaces:
    `java.io.Serializable`, `java.lang.CharSequence`, `java.lang.Iterable<java.lang.Integer>`, `BufferProtocol`
  Direct Known Subclasses:
    `PyUnicodeDerived`

      public class PyUnicode
      extends PyString
      implements java.lang.Iterable<java.lang.Integer>

  a builtin python unicode string.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.python.core.PyObject

      `PyObject.ConversionException`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static PyType` | `TYPE` |

    - ### Fields inherited from class org.python.core.PyObject

      `gcMonitorGlobal`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `PyUnicode()` |
    `PyUnicode​(char c)` |
    `PyUnicode​(int codepoint)` |
    `PyUnicode​(int[] codepoints)` |
    `PyUnicode​(java.lang.String string)` | Construct a PyUnicode interpreting the Java String argument as UTF-16.
    `PyUnicode​(java.lang.String string, boolean isBasic)` | Construct a PyUnicode interpreting the Java String argument as UTF-16.
    `PyUnicode​(java.util.Collection<java.lang.Integer> ucs4)` |
    `PyUnicode​(java.util.Iterator<java.lang.Integer> iter)` |
    `PyUnicode​(PyString pystring)` |
    `PyUnicode​(PyType subtype, java.lang.String string)` |
    `PyUnicode​(PyType subtype, PyString pystring)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `PyObject` | `__add__​(PyObject other)` | Equivalent to the standard Python __add__ method.
    `PyComplex` | `__complex__()` | Equivalent to the standard Python __complex__ method.
    `PyObject` | `__format__​(PyObject formatSpec)` |
    `int` | `__len__()` | Equivalent to the standard Python __len__ method.
    `PyObject` | `__mod__​(PyObject other)` | Equivalent to the standard Python __mod__ method
    `PyString` | `__repr__()` | Equivalent to the standard Python __repr__ method.
    `PyString` | `__str__()` | Equivalent to the standard Python __str__ method.
    `PyUnicode` | `__unicode__()` |
    `double` | `atof()` | Convert this PyString to a floating-point value according to Python rules.
    `int` | `atoi​(int base)` |
    `PyLong` | `atol​(int base)` |
    `static java.lang.String` | `checkEncoding​(java.lang.String s)` |
    `PyString` | `createInstance​(java.lang.String str)` | Create an instance of the same type as this object, from the Java String given as argument.
    `static PyUnicode` | `fromInterned​(java.lang.String interned)` | Creates a PyUnicode from an already interned String.
    `int` | `getCodePointCount()` |
    `int` | `getInt​(int i)` |
    `boolean` | `isBasicPlane()` | Determine whether the string consists entirely of basic-plane characters.
    `java.util.Iterator<java.lang.Integer>` | `iterator()` |
    `PyString` | `join​(PyObject seq)` |
    `java.util.Iterator<java.lang.Integer>` | `newSubsequenceIterator()` | Get an iterator over the code point sequence.
    `java.util.Iterator<java.lang.Integer>` | `newSubsequenceIterator​(int start, int stop, int step)` | Get an iterator over a slice of the code point sequence.
    `PyTuple` | `partition​(PyObject sep)` | Equivalent to Python `str.partition()`, splits the `PyString` at the first occurrence of `sepObj` returning a `PyTuple` containing the part before the separator, the separator itself, and the part after the separator.
    `PyTuple` | `rpartition​(PyObject sep)` | Equivalent to Python `str.rpartition()`, splits the `PyString` at the last occurrence of `sepObj` returning a `PyTuple` containing the part before the separator, the separator itself, and the part after the separator.
    `java.lang.String` | `substring​(int start, int end)` | Return a substring of this object as a Java String.
    `int[]` | `toCodePoints()` |

    - ### Methods inherited from class org.python.core.PyString

      `__cmp__, __contains__, __eq__, __float__, __ge__, __getnewargs__, __gt__, __int__, __invert__, __le__, __long__, __lt__, __mul__, __ne__, __neg__, __pos__, __rmul__, __tojava__, asDouble, asInt, asLong, asName, asString, asString, atoi, atol, capitalize, center, charAt, count, count, count, count, count, count, decode, decode, decode, decode_UnicodeEscape, encode, encode, encode, encode_UnicodeEscape, encode_UnicodeEscape, endswith, endswith, endswith, expandtabs, expandtabs, find, find, find, find, find, find, getBuffer, getString, hashCode, index, index, index, index, index, index, internedString, isalnum, isalpha, isdecimal, isdigit, islower, isnumeric, isspace, istitle, isunicode, isupper, length, ljust, ljust, lower, lstrip, lstrip, lstrip, replace, replace, rfind, rfind, rfind, rfind, rfind, rfind, rindex, rindex, rindex, rindex, rindex, rindex, rjust, rsplit, rsplit, rsplit, rsplit, rsplit, rstrip, rstrip, rstrip, split, split, split, split, split, splitlines, splitlines, startswith, startswith, startswith, str___mod__, strip, strip, strip, subSequence, swapcase, title, toBytes, toString, translate, translate, translate, translate, upper, zfill`

    - ### Methods inherited from class org.python.core.PySequence

      `__delitem__, __delslice__, __finditem__, __finditem__, __getitem__, __getslice__, __iter__, __nonzero__, __setitem__, __setitem__, __setslice__, isMappingType, isNumberType, isSequenceType`

    - ### Methods inherited from class org.python.core.PyObject

      `__abs__, __and__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __call__, __coerce__, __coerce_ex__, __delattr__, __delattr__, __delete__, __delitem__, __delslice__, __dir__, __div__, __divmod__, __ensure_finalizer__, __findattr__, __findattr__, __findattr_ex__, __finditem__, __floordiv__, __get__, __getattr__, __getattr__, __getitem__, __getslice__, __hash__, __hex__, __iadd__, __iand__, __idiv__, __idivmod__, __ifloordiv__, __ilshift__, __imod__, __imul__, __index__, __ior__, __ipow__, __irshift__, __isub__, __iternext__, __itruediv__, __ixor__, __lshift__, __not__, __oct__, __or__, __pow__, __pow__, __radd__, __rand__, __rdiv__, __rdivmod__, __reduce__, __reduce_ex__, __reduce_ex__, __rfloordiv__, __rlshift__, __rmod__, __ror__, __rpow__, __rrshift__, __rshift__, __rsub__, __rtruediv__, __rxor__, __set__, __setattr__, __setattr__, __setitem__, __setslice__, __sub__, __truediv__, __trunc__, __xor__, _add, _and, _callextra, _cmp, _div, _divmod, _doget, _doget, _doset, _eq, _floordiv, _ge, _gt, _iadd, _iand, _idiv, _idivmod, _ifloordiv, _ilshift, _imod, _imul, _in, _ior, _ipow, _irshift, _is, _isnot, _isub, _itruediv, _ixor, _jcall, _jcallexc, _jthrow, _le, _lshift, _lt, _mod, _mul, _ne, _notin, _or, _pow, _rshift, _sub, _truediv, _xor, asIndex, asIndex, asInt, asIterable, asLong, asName, asStringOrNull, asStringOrNull, bit_length, conjugate, delDict, delType, dispatch__init__, equals, fastGetClass, fastGetDict, getDict, getType, implementsDescrDelete, implementsDescrGet, implementsDescrSet, invoke, invoke, invoke, invoke, invoke, invoke, isCallable, isDataDescr, isIndex, isInteger, noAttributeError, object___subclasshook__, readonlyAttributeError, setDict, setType`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.lang.CharSequence

      `chars, codePoints`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach, spliterator`

- - ### Field Detail

    - #### TYPE

          public static final PyType TYPE

  - ### Constructor Detail

    - #### PyUnicode

          public PyUnicode()

    - #### PyUnicode

          public PyUnicode​(java.lang.String string)

      Construct a PyUnicode interpreting the Java String argument as UTF-16.
      Parameters:
        `string` - UTF-16 string encoding the characters (as Java).

    - #### PyUnicode

          public PyUnicode​(java.lang.String string,
                           boolean isBasic)

      Construct a PyUnicode interpreting the Java String argument as UTF-16. If it is known that the string contains no supplementary characters, argument isBasic may be set true by the caller. If it is false, the PyUnicode will scan the string to find out.
      Parameters:
        `string` - UTF-16 string encoding the characters (as Java).
        `isBasic` - true if it is known that only BMP characters are present.

    - #### PyUnicode

          public PyUnicode​(PyType subtype,
                           java.lang.String string)

    - #### PyUnicode

          public PyUnicode​(PyString pystring)

    - #### PyUnicode

          public PyUnicode​(PyType subtype,
                           PyString pystring)

    - #### PyUnicode

          public PyUnicode​(char c)

    - #### PyUnicode

          public PyUnicode​(int codepoint)

    - #### PyUnicode

          public PyUnicode​(int[] codepoints)

    - #### PyUnicode

          public PyUnicode​(java.util.Iterator<java.lang.Integer> iter)

    - #### PyUnicode

          public PyUnicode​(java.util.Collection<java.lang.Integer> ucs4)

  - ### Method Detail

    - #### toCodePoints

          public int[] toCodePoints()

      Overrides:
        `toCodePoints` in class `PyString`

    - #### substring

          public java.lang.String substring​(int start,
                                            int end)

      Return a substring of this object as a Java String. The indices are code point indices, not UTF-16 (`char`) indices. For example:

           PyUnicode u = new PyUnicode("..𐀂𐀃...");
           // (Python) u = u'..\U00010002\U00010003...'

           String s = u.substring(2, 4);  // = "𐀂𐀃" (Java)

      Overrides:
        `substring` in class `PyString`
      Parameters:
        `start` - the beginning index, inclusive.
        `end` - the ending index, exclusive.
      Returns:
        the specified substring.

    - #### fromInterned

          public static PyUnicode fromInterned​(java.lang.String interned)

      Creates a PyUnicode from an already interned String. Just means it won't be reinterned if used in a place that requires interned Strings.

    - #### isBasicPlane

          public boolean isBasicPlane()

      Determine whether the string consists entirely of basic-plane characters. For a `PyString`, of course, it is always `true`, but this is useful in cases where either a `PyString` or a `PyUnicode` is acceptable.
      Overrides:
        `isBasicPlane` in class `PyString`
      Returns:
        true if the string consists only of BMP characters

    - #### getCodePointCount

          public int getCodePointCount()

    - #### checkEncoding

          public static java.lang.String checkEncoding​(java.lang.String s)

    - #### createInstance

          public PyString createInstance​(java.lang.String str)

      Description copied from class: `PyString`
      Create an instance of the same type as this object, from the Java String given as argument. This is to be overridden in a subclass to return its own type.
      Overrides:
        `createInstance` in class `PyString`
      Parameters:
        `str` - to wrap
      Returns:

    - #### __mod__

          public PyObject __mod__​(PyObject other)

      Description copied from class: `PyObject`
      Equivalent to the standard Python __mod__ method
      Overrides:
        `__mod__` in class `PyString`
      Parameters:
        `other` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the mod, or null if this operation is not defined

    - #### __unicode__

          public PyUnicode __unicode__()

      Overrides:
        `__unicode__` in class `PyString`

    - #### __str__

          public PyString __str__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __str__ method. This method should not typically need to be overridden. The easiest way to configure the string representation of a `PyObject` is to override the standard Java `toString` method.
      Overrides:
        `__str__` in class `PyString`

    - #### __len__

          public int __len__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __len__ method. Part of the mapping discipline.
      Overrides:
        `__len__` in class `PyString`
      Returns:
        the length of the object

    - #### __repr__

          public PyString __repr__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __repr__ method. This method should not typically need to be overrriden. The easiest way to configure the string representation of a `PyObject` is to override the standard Java `toString` method.
      Overrides:
        `__repr__` in class `PyString`

    - #### getInt

          public int getInt​(int i)

      Overrides:
        `getInt` in class `PyString`

    - #### newSubsequenceIterator

          public java.util.Iterator<java.lang.Integer> newSubsequenceIterator()

      Get an iterator over the code point sequence.

    - #### newSubsequenceIterator

          public java.util.Iterator<java.lang.Integer> newSubsequenceIterator​(int start,
                                                                              int stop,
                                                                              int step)

      Get an iterator over a slice of the code point sequence.

    - #### __add__

          public PyObject __add__​(PyObject other)

      Description copied from class: `PyString`
      Equivalent to the standard Python __add__ method. For a `str` addition means concatenation and returns a `str` (`PyString`) result, except when a `PyUnicode` argument is given, when a `PyUnicode` results.
      Overrides:
        `__add__` in class `PyString`
      Parameters:
        `other` - the object to perform this binary operation with (the right-hand operand).
      Returns:
        the result of the add, or null if this operation is not defined.

    - #### partition

          public PyTuple partition​(PyObject sep)

      Description copied from class: `PyString`
      Equivalent to Python `str.partition()`, splits the `PyString` at the first occurrence of `sepObj` returning a `PyTuple` containing the part before the separator, the separator itself, and the part after the separator.
      Overrides:
        `partition` in class `PyString`
      Parameters:
        `sep` - str, unicode or object implementing `BufferProtocol`
      Returns:
        tuple of parts

    - #### rpartition

          public PyTuple rpartition​(PyObject sep)

      Description copied from class: `PyString`
      Equivalent to Python `str.rpartition()`, splits the `PyString` at the last occurrence of `sepObj` returning a `PyTuple` containing the part before the separator, the separator itself, and the part after the separator.
      Overrides:
        `rpartition` in class `PyString`
      Parameters:
        `sep` - str, unicode or object implementing `BufferProtocol`
      Returns:
        tuple of parts

    - #### join

          public PyString join​(PyObject seq)

      Overrides:
        `join` in class `PyString`

    - #### __format__

          public PyObject __format__​(PyObject formatSpec)

      Overrides:
        `__format__` in class `PyString`

    - #### iterator

          public java.util.Iterator<java.lang.Integer> iterator()

      Specified by:
        `iterator` in interface `java.lang.Iterable<java.lang.Integer>`

    - #### __complex__

          public PyComplex __complex__()

      Description copied from class: `PyObject`
      Equivalent to the standard Python __complex__ method. Should only be overridden by numeric objects that can be reasonably coerced into a python complex number.
      Overrides:
        `__complex__` in class `PyString`
      Returns:
        a complex number corresponding to the value of this object.

    - #### atoi

          public int atoi​(int base)

      Overrides:
        `atoi` in class `PyString`

    - #### atol

          public PyLong atol​(int base)

      Overrides:
        `atol` in class `PyString`

    - #### atof

          public double atof()

      Description copied from class: `PyString`
      Convert this PyString to a floating-point value according to Python rules.
      Overrides:
        `atof` in class `PyString`
      Returns:
        the value