Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / разбить строку на массив по 32кб / 7 сообщений из 7, страница 1 из 1
22.07.2014, 17:02
    #38703160
vladimir74
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить строку на массив по 32кб
Народ, подскажите как лучше сделать:
если строка-переменная больше 32к. разбить ее на массив строк по 32к....
...
Рейтинг: 0 / 0
22.07.2014, 22:58
    #38703374
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить строку на массив по 32кб
vladimir74,
 
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; windows-1251">
<style type="text/css">
table {
	border-collapse:collapse;
 	width:4500px;
	margin-top:3px;
}
td {
	font-family:'Courier New',sans-serif;
	font-size:8pt;
	border:1px solid red;
}
</style>
</head>
<body>
<button onclick="SplitString()">Разбить</button>
<table id="t1"></table>

<script>
t1 = document.getElementById('t1');
s = 'http://www.sql.ru/forum/1106676/razbit-stroku-na-massiv-po-32kb';
for (i=1; i<12; i++) {s = s + s;}

function SplitString() {
	var d = s.length;
	var kusok = 32000;
	var cnt = 0;

	if (d%kusok != 0) {cnt = Math.floor(d/kusok) + 1;}
	else {cnt = d/kusok;}

	for (i=0; i<cnt; i++) {
		t1.insertRow(i);
		t1.rows[i].insertCell(0);
		if (i!=cnt-1) {
			t1.rows[i].cells[0].innerHTML = s.substr(kusok*(i+1)-kusok, kusok);
		} else {
			t1.rows[i].cells[0].innerHTML = s.substr(kusok*i, kusok);
		}
	}
}
</script>
</body>
</html>

...
Рейтинг: 0 / 0
23.07.2014, 10:34
    #38703613
vladimir74
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить строку на массив по 32кб
если я правильно понимаю, это разбивка по 32тыс символов. а не по 32кб.

Или я ошибаюсь?
...
Рейтинг: 0 / 0
23.07.2014, 10:56
    #38703640
user89
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить строку на массив по 32кб
vladimir74,

ну да. Вместо kusok = 32000 можно написать любое число, разбивка будет правильной.
...
Рейтинг: 0 / 0
23.07.2014, 11:10
    #38703662
vladimir74
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить строку на массив по 32кб
user89,

да это понятно. Проблема в том, что я заранее не знаю в какой кодировке будут данные.
Следовательно не знаю будет ли символ занимать 1, 2 или 4 байта...
...
Рейтинг: 0 / 0
23.07.2014, 11:20
    #38703671
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить строку на массив по 32кб
vladimir74,

.. так а данные как-то приходят, и скорее всего с заголовком charset= ..
...
Рейтинг: 0 / 0
23.07.2014, 11:29
    #38703687
vladimir74
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
разбить строку на массив по 32кб
carrotik,

да, хотя я последнее время этому заголовку не доверяю.
Но твою идею я кажется понял. Просто думал, что в JavaScript есть возможность сразу делить по весу данных.

В любом случае спасибо. пошел работать кувалдой....
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / разбить строку на массив по 32кб / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]