Korzystam z interfejsu API Zemanta, który akceptuje do 8 KB tekstu na połączenie. Wyodrębniam tekst do wysłania do Zemanta ze stron internetowych przy użyciu JavaScript, więc szukam funkcji, która obetnie mój tekst dokładnie o 8 KB.Używanie JavaScript do obcinania tekstu do określonego rozmiaru (8 KB)
Zemanta powinien sam wykonać to obcięcie (tj. Jeśli wyślesz większy ciąg), ale muszę trochę przesunąć ten tekst, zanim wykonam wywołanie API, więc chcę zachować ładowność tak małą jak możliwy.
Czy można bezpiecznie założyć, że 8 KB tekstu ma 8192 znaków i odpowiednio przyciąć? (1 bajt na znak, 1024 znaki na KB, 8 KB = 8 192 bajty/znaki) Czy jest to niedokładne lub prawdziwe tylko w niektórych okolicznościach?
Czy istnieje bardziej elegancki sposób obcięcia ciągu na podstawie jego rzeczywistego rozmiaru pliku?
Możesz chcieć sprawdzić, czy tekst, z którym masz do czynienia, ma określone kodowanie, np. UTF-8, ASCII itp? Jeśli masz pewność, że tekst zawiera tylko znaki jednobajtowe, obcięcie będzie prostsze. Zyskasz trochę elastyczności. Jeśli chodzi o to, czy Zemanta traktuje 8 KB jako 8192 bajty lub 8000 bajtów, dlaczego nie przetestujesz go sam? –
Dzięki, o.k.w.Myślę, że Dominic ma rację, że ten tekst (prawdopodobnie UTF-8) może potencjalnie zająć wiele bajtów na znak, więc pomiary na podstawie liczby znaków nie będą możliwe. – Bungle