Перейти к публикации
Buka21

Флудилка

Рекомендованные сообщения

Код писался с учётом сбора статистики. И насчет пробелов, вы забыли что это чат minecraft, тут не может быть других символов, так зачем мне делать их удаление, если их нет?

 

Если учитывать, что это чат майнкрафта и быть уверенным в том, что Андрей никогда не добавит UnicodeFix или подобную хрень, почему бы не делать вообще так:

 

int letterCount = 0;
int bigLetterCount = 0;
int length = r.length();
for (int i = 0;i < length; i++){
    int charAt = r.codePointAt(i);
    if ((charAt >= 1024 && charAt <= 1071) || (charAt >= 65 && charAt <= 90)){
        bigLetterCount++;
        letterCount++;
    } else if ((charAt >= 1072 && charAt <= 1119) || (charAt >= 97 && charAt <= 122)) {
        letterCount++;
    }
}
System.out.printf("%d %d -> %d", bigLetterCount, letterCount, length);

Таблица символов для проверки кодов - http://foxtools.ru/Unicode

Изменено пользователем SirEdivn

Приватные сборки рулят!

Давайте вместе сделаем что-то интересное!, все тлен

Поделиться сообщением


Ссылка на сообщение

@SirEdivn, был бы там utf-8... (:


image.png.71f7c39369e5c1f3688fd965639ee865.png

30.10.2014 в 17:07, vadim189 сказал:

виндовс переучтанавливаеш а толку нет всеравно

24.06.2014 в 14:43, SergeJ15 сказал:

Андрей помнишь ты ставил перд модерацию сообщений eXend'a - в общем теперь я понял почему. Может вернуть ее, не думаю что нам нужен местный "троль"?

 

Поделиться сообщением


Ссылка на сообщение

 

 

@SirEdivn, был бы там utf-8... (:

Java таки использует unicode в символах :) 


Приватные сборки рулят!

Давайте вместе сделаем что-то интересное!, все тлен

Поделиться сообщением


Ссылка на сообщение

Java таки использует unicode в символах :)

@SirEdivn, мб utf-32 она использует?

И с 2 циклами я переборщил. Следуя твоему последнему примеру, можно было бы запилить все в 1, и крутить полностью, все равно нужно считать все буквы.

Я тут подредактировал: https://redserver.su/forum/topic/23790-moderator-profion/?p=11296899


image.png.71f7c39369e5c1f3688fd965639ee865.png

30.10.2014 в 17:07, vadim189 сказал:

виндовс переучтанавливаеш а толку нет всеравно

24.06.2014 в 14:43, SergeJ15 сказал:

Андрей помнишь ты ставил перд модерацию сообщений eXend'a - в общем теперь я понял почему. Может вернуть ее, не думаю что нам нужен местный "троль"?

 

Поделиться сообщением


Ссылка на сообщение

 

 

@SirEdivn, мб utf-32 она использует?

Ноуп, utf8. Ну ... почти uft8.

У java в char влазит целых два байта, что вмешает в себе почти все символы юникода, кроме трех-байтных. Их оно складывает из двух. + тут используется функция codePoint, которая возвращает юникод код в int)


Приватные сборки рулят!

Давайте вместе сделаем что-то интересное!, все тлен

Поделиться сообщением


Ссылка на сообщение

Ноуп, utf8. Ну ... почти uft8.

У java в char влазит целых два байта, что вмешает в себе почти все символы юникода, кроме трех-байтных. Их оно складывает из двух. + тут используется функция codePoint, которая возвращает юникод код в int)

@SirEdivn, тогда это utf-16.

Не нужно объяснять мне его работу, я знаю это во всех подробностях, ведь нужно было как-то писать конвектор из utf-8 в utf-32 и обратно.

 

 

std::string utf32to8(const std::u32string &_str)
{
	std::string tmp_str;
	for(size_t i = 0UL; i < _str.length(); ++i)
	{
		/* if(_str[i] < 00000001 00000000) */
		if(_str[i] < 0x100)
		{
			tmp_str.push_back((char)_str[i]);
		}
		/* if(_str[i] < 00001000 00000000) */
		else if(_str[i] < 0x800)
		{
			/* последовательность 110XXXXX 10XXXXXX */
			tmp_str.push_back((char)(((_str[i] & 0x7C0) >> 6 ) | 0xC0));							// tmp_str.push_back((char)(((_str[i] & 00000111 11000000) >> 6 ) | 11000000))
			tmp_str.push_back((char)((_str[i] & 0x3F) | 0x80));										// tmp_str.push_back((char)((_str[i] & 00111111) | 10000000))
		}
		/* if(_str[i] < 00000001 00000000 00000000) */
		else if(_str[i] < 0x10000)
		{
			/* последовательность 1110XXXX 10XXXXXX 10XXXXXX */
			tmp_str.push_back((char)(((_str[i] & 0xF000) >> 12 ) | 0xE0));							// tmp_str.push_back((char)(((_str[i] & 11110000 00000000) >> 12 ) | 11100000))
			tmp_str.push_back((char)(((_str[i] & 0xFC0) >> 6 ) | 0x80));							// tmp_str.push_back((char)(((_str[i] & 00001111 11000000) >> 6 ) | 10000000))
			tmp_str.push_back((char)((_str[i] & 0x3F) | 0x80));										// tmp_str.push_back((char)((_str[i] & 00111111) | 10000000))
		}
		/* if(_str[i] < 00100000 00000000 00000000) */
		else if(_str[i] < 0x200000)
		{
			/* последовательность 11110XXX 10XXXXXX 10XXXXXX 10XXXXXX */
			tmp_str.push_back((char)(((_str[i] & 0x1C0000) >> 18 ) | 0xF0));						// tmp_str.push_back((char)(((_str[i] & 00011100 00000000 00000000) >> 18 ) | 11110000))
			tmp_str.push_back((char)(((_str[i] & 0x3F000) >> 12 ) | 0x80));							// tmp_str.push_back((char)(((_str[i] & 00000011 11110000 00000000) >> 12 ) | 10000000))
			tmp_str.push_back((char)(((_str[i] & 0xFC0) >> 6 ) | 0x80));							// tmp_str.push_back((char)(((_str[i] & 00000000 00001111 11000000) >> 6 ) | 10000000))
			tmp_str.push_back((char)((_str[i] & 0x3F) | 0x80));										// tmp_str.push_back((char)((_str[i] & 00111111) | 10000000))
		}
		/* if(_str[i] < 00000100 00000000 00000000 00000000) */
		else if(_str[i] < 0x4000000)
		{
			/* последовательность 111110XX 10XXXXXX 10XXXXXX 10XXXXXX 10XXXXXX */
			tmp_str.push_back((char)(((_str[i] & 0x3000000) >> 24 ) | 0xF8));						// tmp_str.push_back((char)(((_str[i] & 00000011 00000000 00000000 00000000) >> 24 ) | 11111000))
			tmp_str.push_back((char)(((_str[i] & 0xFC0000) >> 18 ) | 0x80));						// tmp_str.push_back((char)(((_str[i] & 00000000 11111100 00000000 00000000) >> 18 ) | 10000000))
			tmp_str.push_back((char)(((_str[i] & 0x3F000) >> 12 ) | 0x80));							// tmp_str.push_back((char)(((_str[i] & 00000100 00000011 11110000 00000000) >> 12 ) | 10000000))
			tmp_str.push_back((char)(((_str[i] & 0xFC0) >> 6 ) | 0x80));							// tmp_str.push_back((char)(((_str[i] & 00000100 00000000 00001111 11000000) >> 6 ) | 10000000))
			tmp_str.push_back((char)((_str[i] & 0x3F) | 0x80));										// tmp_str.push_back((char)((_str[i] & 00111111) | 10000000))
		}
		/* if(_str[i] < 10000000 00000000 00000000 00000000) */
		else if(_str[i] < 0x80000000)
		{
			/* последовательность 1111110X 10XXXXXX 10XXXXXX 10XXXXXX 10XXXXXX 10XXXXXX */
			tmp_str.push_back((char)(((_str[i] & 0x40000000) >> 30 ) | 0xFC));						// tmp_str.push_back((char)(((_str[i] & 01000000 00000000 00000000 00000000) >> 30 ) | 11111100))
			tmp_str.push_back((char)(((_str[i] & 0x3F000000) >> 24 ) | 0x80));						// tmp_str.push_back((char)(((_str[i] & 00111111 00000000 00000000 00000000) >> 24 ) | 10000000))
			tmp_str.push_back((char)(((_str[i] & 0xFC0000) >> 18 ) | 0x80));						// tmp_str.push_back((char)(((_str[i] & 00000000 11111100 00000000 00000000) >> 18 ) | 10000000))
			tmp_str.push_back((char)(((_str[i] & 0x3F000) >> 12 ) | 0x80));							// tmp_str.push_back((char)(((_str[i] & 00000100 00000011 11110000 00000000) >> 12 ) | 10000000))
			tmp_str.push_back((char)(((_str[i] & 0xFC0) >> 6 ) | 0x80));							// tmp_str.push_back((char)(((_str[i] & 00000100 00000000 00001111 11000000) >> 6 ) | 10000000))
			tmp_str.push_back((char)((_str[i] & 0x3F) | 0x80));										// tmp_str.push_back((char)((_str[i] & 00111111) | 10000000))
		}
		else
			tmp_str.push_back('?');
	}
	return tmp_str;
}

/**
 * @brief склеивает циферки в буковку
 * @param _str  utf8
 * @[member='returne'] utf32
 */
std::u32string utf8to32(const std::string &_str)
{
	std::u32string tmp_str;
	char32_t tmp_char;
	for(size_t pos = 0UL; pos < _str.length(); ++pos)
	{
		/* if(11111100 == (_str[i] & 11111110)) */
		if(0xFC == (_str[pos] & 0xFE))
		{
			tmp_char = _str[pos] & 0x1;																// _str[pos] & 0000 0001
			tmp_char <<= 6;
			tmp_char |= _str[pos + 1] & 0x3F;														// tmp_char |= _str[pos + 1] & 00111111
			tmp_char <<= 6;
			tmp_char |= _str[pos + 2] & 0x3F;
			tmp_char <<= 6;
			tmp_char |= _str[pos + 3] & 0x3F;
			tmp_char <<= 6;
			tmp_char |= _str[pos + 4] & 0x3F;
			tmp_char <<= 6;
			tmp_char |= _str[pos + 5] & 0x3F;
			tmp_str.push_back(tmp_char);
			pos += 5;
		}
		/* if(11111000 == (_str[i] & 11111100)) */
		else if(0xF8 == (_str[pos] & 0xFC))
		{
			tmp_char = _str[pos] & 0x3;																// _str[pos] & 00000011
			tmp_char <<= 6;
			tmp_char |= _str[pos + 1] & 0x3F;
			tmp_char <<= 6;
			tmp_char |= _str[pos + 2] & 0x3F;
			tmp_char <<= 6;
			tmp_char |= _str[pos + 3] & 0x3F;
			tmp_char <<= 6;
			tmp_char |= _str[pos + 4] & 0x3F;
			tmp_str.push_back(tmp_char);
			pos += 4;
		}
		/* if(11110000 == (_str[i] & 1111100)) */
		else if(0xF0 == (_str[pos] & 0xF8))
		{
			tmp_char = _str[pos] & 0x7;																// _str[pos] & 00000111
			tmp_char <<= 6;
			tmp_char |= _str[pos + 1] & 0x3F;
			tmp_char <<= 6;
			tmp_char |= _str[pos + 2] & 0x3F;
			tmp_char <<= 6;
			tmp_char |= _str[pos + 3] & 0x3F;
			tmp_str.push_back(tmp_char);
			pos += 3;
		}
		/* if(11100000 == (_str[i] & 11110000)) */
		else if(0xE0 == (_str[pos] & 0xF0))
		{
			tmp_char = _str[pos] & 0xF;																// _str[pos] & 00001111
			tmp_char <<= 6;
			tmp_char |= _str[pos + 1] & 0x3F;
			tmp_char <<= 6;
			tmp_char |= _str[pos + 2] & 0x3F;
			tmp_str.push_back(tmp_char);
			pos += 2;
		}
		/* if(11000000 == (_str[i] & 11100000)) */
		else if(0xC0 == (_str[pos] & 0xE0))
		{
			tmp_char = _str[pos] & 0x1F;															// _str[pos] & 00011111
			tmp_char <<= 6;
			tmp_char |= _str[pos + 1] & 0x3F;
			tmp_str.push_back(tmp_char);
			++pos;
		}
		/* if(00000000 == (_str[i] & 10000000)) */
		else if(0x0 == (_str[pos] & 0x80))
			tmp_str.push_back(_str[pos]);
	}
	return tmp_str;
}

 

 

И да, UTF-16 бредовая кодировка, как говорится "ни рыба ни мясо".


image.png.71f7c39369e5c1f3688fd965639ee865.png

30.10.2014 в 17:07, vadim189 сказал:

виндовс переучтанавливаеш а толку нет всеравно

24.06.2014 в 14:43, SergeJ15 сказал:

Андрей помнишь ты ставил перд модерацию сообщений eXend'a - в общем теперь я понял почему. Может вернуть ее, не думаю что нам нужен местный "троль"?

 

Поделиться сообщением


Ссылка на сообщение

Почему люди так сильно верят в новомодную херню от маркетологов типа докера? 


Приватные сборки рулят!

Давайте вместе сделаем что-то интересное!, все тлен

Поделиться сообщением


Ссылка на сообщение

@SirEdivn, ты о чем вообще?


image.png.71f7c39369e5c1f3688fd965639ee865.png

30.10.2014 в 17:07, vadim189 сказал:

виндовс переучтанавливаеш а толку нет всеравно

24.06.2014 в 14:43, SergeJ15 сказал:

Андрей помнишь ты ставил перд модерацию сообщений eXend'a - в общем теперь я понял почему. Может вернуть ее, не думаю что нам нужен местный "троль"?

 

Поделиться сообщением


Ссылка на сообщение

в новомодную херню

Т.е. ты про виртуализацию в общем? Часто приходится "слышать" про всякие виртуализации, но я как-то всегда игнорировал это. Сейчас вкратце почитал суть виртуализации приложений, и на мой взгляд этот гемор имеет мало смысла, только систему тормозить.


image.png.71f7c39369e5c1f3688fd965639ee865.png

30.10.2014 в 17:07, vadim189 сказал:

виндовс переучтанавливаеш а толку нет всеравно

24.06.2014 в 14:43, SergeJ15 сказал:

Андрей помнишь ты ставил перд модерацию сообщений eXend'a - в общем теперь я понял почему. Может вернуть ее, не думаю что нам нужен местный "троль"?

 

Поделиться сообщением


Ссылка на сообщение

 

 

Т.е. ты про виртуализацию в общем? Часто приходится "слышать" про всякие виртуализации, но я как-то всегда игнорировал это. Сейчас вкратце почитал суть виртуализации приложений, и на мой взгляд этот гемор имеет мало смысла, только систему тормозить.

Это веселее виртуализации. Это такая крутая надстройка над chroot. На самом деле, это безумно удобное решение в случаях, когда тебе, скажем, нужно хостить два приложения с разными наборами библиотек.

 

Но теперь его пихают везде. 


"@_WaRLoCK_" От того что у тебя бомбит, никто скоро ничего решать не будет, тем более на публику. Если этот вопрос и будет решатся, то явно ответ в теме даватся не будет, так что не стоит звать в тему Андрея. 
p.s. я ничего против не имею против всех кто тут описывали в теме, но все же, Андрей не слепой, и уже видел эту тему, раз не отписался, значит решит вопрос по своему усмотрению, и потому я прошу @ закрыть тему, дабы в теме больше не было флуда

Андрей иногда скажем ... забывает про темы :) 


Приватные сборки рулят!

Давайте вместе сделаем что-то интересное!, все тлен

Поделиться сообщением


Ссылка на сообщение

Ха-ха-ха

4bb947db74.png

И у тебя, по-твоему, диск фигня? :D

Красава)0

post-81098-0-49040100-1461611719_thumb.png

Изменено пользователем The_Destroyer

untitled_2_by_norbix9-d7t3805.gif

Поделиться сообщением


Ссылка на сообщение

@, вот у меня точно такой же проц., E8500. Правда я ему на смену i7 купил, а тот просто теперь стоит в старом системном блоке без дела.


Он у тебя сильно греется?


@SirEdivn, ну в таких случаях если только, но не думаю что такие программы встречаются часто.


image.png.71f7c39369e5c1f3688fd965639ee865.png

30.10.2014 в 17:07, vadim189 сказал:

виндовс переучтанавливаеш а толку нет всеравно

24.06.2014 в 14:43, SergeJ15 сказал:

Андрей помнишь ты ставил перд модерацию сообщений eXend'a - в общем теперь я понял почему. Может вернуть ее, не думаю что нам нужен местный "троль"?

 

Поделиться сообщением


Ссылка на сообщение
@SirEdivn, ну в таких случаях если только, но не думаю что такие программы встречаются часто.

Minecraft сервер круто деплоить так :) Особенно если держишь несколько одинаковых. 

 

Но мне до этого далеко, я по старинке через гит :( 

Изменено пользователем SirEdivn

Приватные сборки рулят!

Давайте вместе сделаем что-то интересное!, все тлен

Поделиться сообщением


Ссылка на сообщение

@, вот у меня точно такой же проц., E8500. Правда я ему на смену i7 купил, а тот просто теперь стоит в старом системном блоке без дела.

Он у тебя сильно греется?

@SirEdivn, ну в таких случаях если только, но не думаю что такие программы встречаются ча

У меня с ним проблем нету,не лагает.Греется много,это правда...


untitled_2_by_norbix9-d7t3805.gif

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...