Uppercase "UTF-8" encoding name no longer works in CircuitPython 11
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Área
- embedded-iot
Línea de trabajo
The payload names no source files. Start from the encoding check that micropython/micropython#18854 and #19474 introduced, which accepts only utf-8, utf8 and ascii exactly, and reproduce with bytes("hi", "UTF-8") on a CircuitPython 11 build. The open question is whether the core should match names case-insensitively or the libraries should change, so settle that with the maintainers before writing a patch. Done means the chosen behaviour is agreed and "UTF-8" either encodes correctly or is documented as unsupported.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Passing "UTF-8" as an encoding raises LookupError on CircuitPython 11.
It worked on 10.x and works in CPython.
>>> bytes("hi", "utf-8")
b'hi'
>>> bytes("hi", "UTF-8")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
LookupError: unknown encoding: UTF-8
>>> "hi".encode("UTF-8")
LookupError: unknown encoding: UTF-8
| Board | Version | "UTF-8" |
|---|---|---|
| Feather RP2040 RFM | 11.0.0-alpha.1 | LookupError |
| Fruit Jam | 11.0.0-alpha.1-71-g36a5653882 | LookupError |
| Metro RP2350 | 11.0.0-alpha.0-22-g4453bba9a1 | LookupError |
| (10.3.x source) | no encoding check |
The check came from micropython/micropython#18854 and micropython/micropython#19474, which accept only utf-8, utf8 and ascii exactly.
It breaks 9 of the 14 examples in adafruit/Adafruit_CircuitPython_RFM#26, and code search finds about 340 adafruit Python files using "UTF-8").
Should CircuitPython match encoding names case-insensitively, or should we fix the libraries?
Found with help from Claude Code. The REPL output is from the boards above.
- Lenguaje dominante
- C
- Estrellas
- 4.6k
- Forks
- 1.4k
- Merge medio
- 1 d 2 h
- PR fusionados (30 d)
- 174
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de adafruit/circuitpython
-
Move imx port to ZephyrAbiertomimxrt10xx refactoring zephyr
Dificultad 5/5 Más de una semana Aptitud para principiantes 8/100
adafruit/circuitpython#11583 ·
Los mantenedores suelen responder en 1 día
-
Support SDIO cards as a second USB mass-storage LUNPosiblemente ocupada @ladyada la tomó hace 1 día. Abiertorp2 sdcardio storage supervisor usb
adafruit/circuitpython#11564 · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
bug sdcardio storage
Dificultad 4/5 3-5 días Aptitud para principiantes 43/100
adafruit/circuitpython#11562 ·
Los mantenedores suelen responder en 1 día
-
storage usb zephyr
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
adafruit/circuitpython#11531 ·
Los mantenedores suelen responder en 1 día
-
Move silabs to ZephyrAbiertosilabs
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
adafruit/circuitpython#11507 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de adafruit/circuitpython
Issues similares
-
Dificultad 2/5 Medio día Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
rpc : a tensor with oversized ne aborts ggml-rpc-server in deserialize_tensorPosiblemente ocupada @void-mckenzie la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
FujiNetWIFI/fujinet-lib#122 · 1 comentario ·
Los mantenedores suelen responder en 1 día