Separar CSV por comas o líneas físicas falla cuando una celda contiene puntuación o un salto. El análisis correcto depende del estado: inicio, campo sin citar, campo citado o posición tras la comilla final. Cada estado permite caracteres distintos.
Abre comillas solo al inicio
Una comilla abre el modo citado solo si aún no entró un carácter normal. Una comilla posterior es un error, no una orden de reescritura. Los espacios antes de abrir son datos porque CSVBridge no recorta ni repara celdas.
Representa una comilla con dos
Dentro de un campo citado, dos comillas seguidas producen una literal y una sola cierra. Después solo se admite delimitador, final de registro o entrada. Rechazar otros caracteres evita aceptar en silencio un prefijo citado unido a un sufijo sin citar.
Conserva saltos dentro del valor
CRLF, LF o CR dentro de comillas es contenido, no un nuevo registro. CSVBridge conserva los caracteres y JSON.stringify los escapa. El recuento sigue registros lógicos, no líneas físicas. Un campo sin cerrar se rechaza y no queda JSON parcial visible.