Python, len y slices en cadenas unicode

Estoy manejando una situación en la que necesito que una cadena encaje en el espacio asignado en la pantalla, ya que estoy usando unicode len () y las rebanadas [] funcionan aparentemente en bytes y termino cortando cadenas unicode demasiado cortas, porque @ solo ocupa un espacio en la pantalla pero 2 para len () o sectores [].

Tengo los encabezados de codificación configurados correctamente, y estoy dispuesto a usar otras cosas que no sean rebanadas o len () para lidiar con esto, pero realmente necesito saber cuántos espacios ocupará la cadena y cómo cortarla a la disponibilidad .

$cat test.py
# -*- coding: utf-8 -*-
a = "2 €uros"
b = "2 Euros"
print len(b)
print len(a)
print a[3:]
print b[3:]

$python test.py
7
9
��uros
uros

Respuestas a la pregunta(1)

Su respuesta a la pregunta