Uso la API Zemanta, que acepta hasta 8 KB de texto por llamada. Estoy extrayendo el texto para enviarlo a Zemanta desde páginas web usando JavaScript, así que estoy buscando una función que trunque mi texto exactamente a 8 KB.Uso de JavaScript para truncar texto a un tamaño determinado (8 KB)
Zemanta debería hacer este truncamiento por sí mismo (es decir, si le envía una cadena más grande), pero necesito enviar este texto un poco antes de hacer la llamada API, así que quiero mantener la carga tan pequeña como posible.
¿Es seguro asumir que 8 KB de texto son 8.192 caracteres, y truncar en consecuencia? (1 byte por carácter, 1.024 caracteres por KB, 8 KB = 8.192 bytes/caracteres) O, ¿es eso incorrecto o solo cierto dadas ciertas circunstancias?
¿Hay una forma más elegante de truncar una cadena en función de su tamaño de archivo real?
Es posible que desee comprobar si el texto que está tratando tiene cierta codificación, p. UTF-8, ASCII, etc. Si está seguro de que el texto contiene solo caracteres de un solo byte, el truncamiento será más sencillo. Cambiarás algo de flexibilidad. En cuanto a si Zemanta trata 8 KB como 8192 bytes u 8000 bytes, ¿por qué no lo prueba usted mismo? –
Gracias, o.k.w.Creo que Dominic tiene razón en que este texto (probablemente UTF-8) potencialmente ocupará múltiples bytes por carácter, por lo que no será posible medir en función de la cantidad de caracteres. – Bungle