<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8</id>
	<title>Строки - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://sfsys.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8"/>
	<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;action=history"/>
	<updated>2026-04-04T13:18:40Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=4196&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=4196&amp;oldid=prev"/>
		<updated>2021-11-20T17:10:00Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 17:10, 20 November 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=4195&amp;oldid=prev</id>
		<title>1&gt;Admin at 14:30, 30 July 2021</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=4195&amp;oldid=prev"/>
		<updated>2021-07-30T14:30:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 14:30, 30 July 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* ANSI строки, называемые также однобайтовые строками. Каждый знак занимает один байт. Строка будет иметь системную кодировку для международных символов. К примеру, если установки текущей учетной записи системы определяют ANSI строки, как имеющие кодовую страницу 1251, то в однобайтовых строках, наряду с латиницей, знаками и цифрами, можно использовать кириллицу, если же, к примеру, кодовая страница 869, то в ANSI строках можно использовать греческий алфавит. Система обычно использует такие объекты только для хранения строк с латиницей, знаками и цифрами, при наличии любого международного символа, происходит автоматическое преобразование в UTF-16 строку. Нужно также заметить, что системная кодировка для таких строк имеет значение только при их выводе на экран, кроме как при выводе информации, кодировка никак не влияет на содержимое строк.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* ANSI строки, называемые также однобайтовые строками. Каждый знак занимает один байт. Строка будет иметь системную кодировку для международных символов. К примеру, если установки текущей учетной записи системы определяют ANSI строки, как имеющие кодовую страницу 1251, то в однобайтовых строках, наряду с латиницей, знаками и цифрами, можно использовать кириллицу, если же, к примеру, кодовая страница 869, то в ANSI строках можно использовать греческий алфавит. Система обычно использует такие объекты только для хранения строк с латиницей, знаками и цифрами, при наличии любого международного символа, происходит автоматическое преобразование в UTF-16 строку. Нужно также заметить, что системная кодировка для таких строк имеет значение только при их выводе на экран, кроме как при выводе информации, кодировка никак не влияет на содержимое строк.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* UTF-16 строки, называемые также многобайтовыми строками или юникодом (Unicode). В данной кодировке каждый знак обычно занимает два байта (либо большее количество для редких знаков). В строках такого типа может храниться любая текстовая информация с международными символами, они не зависят от текущей системной кодировки, однако, занимают больше места в памяти и не подходят для хранения и преобразования бинарной информации (к примеру, как результат шифрования алгоритмом AES и пр.).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* UTF-16 строки, называемые также многобайтовыми строками или юникодом (Unicode). В данной кодировке каждый знак обычно занимает два байта (либо большее количество для редких знаков). В строках такого типа может храниться любая текстовая информация с международными символами, они не зависят от текущей системной кодировки, однако, занимают больше места в памяти и не подходят для хранения и преобразования бинарной информации (к примеру, как результат шифрования алгоритмом AES и пр.).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** '''Важное замечание''': стандарт Unicode предполагает использование символов с кодами больше 65535. Для таких символов требуется не 2 байта, а 4 байта при хранении текста (первые &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;для &lt;/del&gt;байта называют нижним суррогатом, последние -- верхним). 2-байтовый юникод, называемый также BMP (Basic Multilingual Plane, основная международная таблица) или UCS-2, позволяет кодировать все основные международные символы, включая Китайские, Японские и Корейские иероглифы. Символы вне этой таблицы, обычно представляют собой символику вымерших или редких языков и знаки, не относящиеся к обычному тексту (смайлики, рисунки объектов и пр.), либо знаки, зависящие непосредственно от шрифта. Такие знаки зачастую не будут даже иметь корректного отображения, так как большинство шрифтов не поддерживает полную таблицу юникода. Говоря о возможностях системы, при выводе на экран и перекодировке текста, знаки вне BMP обрабатываются системой корректно, однако, текстовые функции рассчитаны только на работу с символами, размером 2 байта. Это, значит, к примеру, что в редакторе исходного кода, можно создать строку &amp;lt;code&amp;gt;&amp;quot;𐒀𐒁𐒂𐒃𐒄𐒅𐒆𐒇𐒈𐒉𐒊𐒋𐒌𐒍𐒎𐒏&amp;quot;&amp;lt;/code&amp;gt;, визуально имеющую длину 16 символов, однако, с точки зрения UTF-16 эта строка представлена 64-мя байтами информации, так как каждый ее символ записан двумя двухбайтовыми парами (первый знак, например, записан сл. образом: &amp;lt;code&amp;gt;D801,DC80&amp;lt;/code&amp;gt;). Поэтому функция '''[[Length]]''' возвратит 32, а не 16, функция '''[[Pos]]''' при нахождении позиции знака '''𐒆''' возвратит некорректную позицию 13, вместо корректной 7, однако, функция '''[[TearStr]]''' будет работать корректно. В связи с этим не рекомендуется использовать международные символы вне двухбайтовой таблицы BMP, либо не нужно производить обработку текста с их наличием обычным функционалом.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** '''Важное замечание''': стандарт Unicode предполагает использование символов с кодами больше 65535. Для таких символов требуется не 2 байта, а 4 байта при хранении текста (первые &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;два &lt;/ins&gt;байта называют нижним суррогатом, последние -- верхним). 2-байтовый юникод, называемый также BMP (Basic Multilingual Plane, основная международная таблица) или UCS-2, позволяет кодировать все основные международные символы, включая Китайские, Японские и Корейские иероглифы. Символы вне этой таблицы, обычно представляют собой символику вымерших или редких языков и знаки, не относящиеся к обычному тексту (смайлики, рисунки объектов и пр.), либо знаки, зависящие непосредственно от шрифта. Такие знаки зачастую не будут даже иметь корректного отображения, так как большинство шрифтов не поддерживает полную таблицу юникода. Говоря о возможностях системы, при выводе на экран и перекодировке текста, знаки вне BMP обрабатываются системой корректно, однако, текстовые функции рассчитаны только на работу с символами, размером 2 байта. Это, значит, к примеру, что в редакторе исходного кода, можно создать строку &amp;lt;code&amp;gt;&amp;quot;𐒀𐒁𐒂𐒃𐒄𐒅𐒆𐒇𐒈𐒉𐒊𐒋𐒌𐒍𐒎𐒏&amp;quot;&amp;lt;/code&amp;gt;, визуально имеющую длину 16 символов, однако, с точки зрения UTF-16 эта строка представлена 64-мя байтами информации, так как каждый ее символ записан двумя двухбайтовыми парами (первый знак, например, записан сл. образом: &amp;lt;code&amp;gt;D801,DC80&amp;lt;/code&amp;gt;). Поэтому функция '''[[Length]]''' возвратит 32, а не 16, функция '''[[Pos]]''' при нахождении позиции знака '''𐒆''' возвратит некорректную позицию 13, вместо корректной 7, однако, функция '''[[TearStr]]''' будет работать корректно. В связи с этим не рекомендуется использовать международные символы вне двухбайтовой таблицы BMP, либо не нужно производить обработку текста с их наличием обычным функционалом.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Преобразование в UTF-16 строку в системе обычно происходит автоматически, обратное преобразование можно осуществить с помощью особых функций. Также нужно отметить, что широко используемый формат UTF-8 будет храниться в системе в ANSI (однобайтовых строках), при получении из внешних источников текста в таком формате, желательно преобразовать его в UTF-16 (c помощью, к примеру '''[[UTF8ToUnicode]]'''), затем, после обработки, можно преобразовать текст обратно в UTF-8 (к примеру, используя '''[[UnicodeToUTF8]]''').&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Преобразование в UTF-16 строку в системе обычно происходит автоматически, обратное преобразование можно осуществить с помощью особых функций. Также нужно отметить, что широко используемый формат UTF-8 будет храниться в системе в ANSI (однобайтовых строках), при получении из внешних источников текста в таком формате, желательно преобразовать его в UTF-16 (c помощью, к примеру '''[[UTF8ToUnicode]]'''), затем, после обработки, можно преобразовать текст обратно в UTF-8 (к примеру, используя '''[[UnicodeToUTF8]]''').&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=3870&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=3870&amp;oldid=prev"/>
		<updated>2021-04-16T14:20:04Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 14:20, 16 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=3869&amp;oldid=prev</id>
		<title>1&gt;Admin at 11:52, 4 April 2021</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=3869&amp;oldid=prev"/>
		<updated>2021-04-04T11:52:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 11:52, 4 April 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot; &gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* ANSI строки, называемые также однобайтовые строками. Каждый знак занимает один байт. Строка будет иметь системную кодировку для международных символов. К примеру, если установки текущей учетной записи системы определяют ANSI строки, как имеющие кодовую страницу 1251, то в однобайтовых строках, наряду с латиницей, знаками и цифрами, можно использовать кириллицу, если же, к примеру, кодовая страница 869, то в ANSI строках можно использовать греческий алфавит. Система обычно использует такие объекты только для хранения строк с латиницей, знаками и цифрами, при наличии любого международного символа, происходит автоматическое преобразование в UTF-16 строку. Нужно также заметить, что системная кодировка для таких строк имеет значение только при их выводе на экран, кроме как при выводе информации, кодировка никак не влияет на содержимое строк.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* ANSI строки, называемые также однобайтовые строками. Каждый знак занимает один байт. Строка будет иметь системную кодировку для международных символов. К примеру, если установки текущей учетной записи системы определяют ANSI строки, как имеющие кодовую страницу 1251, то в однобайтовых строках, наряду с латиницей, знаками и цифрами, можно использовать кириллицу, если же, к примеру, кодовая страница 869, то в ANSI строках можно использовать греческий алфавит. Система обычно использует такие объекты только для хранения строк с латиницей, знаками и цифрами, при наличии любого международного символа, происходит автоматическое преобразование в UTF-16 строку. Нужно также заметить, что системная кодировка для таких строк имеет значение только при их выводе на экран, кроме как при выводе информации, кодировка никак не влияет на содержимое строк.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* UTF-16 строки, называемые также многобайтовыми строками или юникодом (Unicode). В данной кодировке каждый знак обычно занимает два байта (либо большее количество для редких знаков). В строках такого типа может храниться любая текстовая информация с международными символами, они не зависят от текущей системной кодировки, однако, занимают больше места в памяти и не подходят для хранения и преобразования бинарной информации (к примеру, как результат шифрования алгоритмом AES и пр.).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* UTF-16 строки, называемые также многобайтовыми строками или юникодом (Unicode). В данной кодировке каждый знак обычно занимает два байта (либо большее количество для редких знаков). В строках такого типа может храниться любая текстовая информация с международными символами, они не зависят от текущей системной кодировки, однако, занимают больше места в памяти и не подходят для хранения и преобразования бинарной информации (к примеру, как результат шифрования алгоритмом AES и пр.).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** '''Важное замечание''': стандарт Unicode предполагает использование символов с кодами больше 65535. Для таких символов требуется не 2 байта, а 4 байта при хранении текста (первые для байта называют нижним суррогатом, последние -- верхним). 2-байтовый юникод, называемый также BMP (Basic Multilingual Plane, основная международная таблица) или UCS-2, позволяет кодировать все основные международные символы, включая Китайские, Японские и Корейские иероглифы. Символы вне этой таблицы, обычно представляют собой символику вымерших или редких языков и знаки, не относящиеся к обычному тексту (смайлики, рисунки объектов и пр.), либо знаки, зависящие непосредственно от шрифта. Такие знаки зачастую не будут даже иметь корректного отображения, так как большинство шрифтов не поддерживает полную таблицу юникода. Говоря о возможностях системы, при выводе на экран и перекодировке текста знаки вне BMP обрабатываются системой корректно, однако, текстовые функции рассчитаны только на работу с символами, размером 2 байта. Это, значит, к примеру, что в редакторе исходного кода, можно создать строку &amp;lt;code&amp;gt;&amp;quot;𐒀𐒁𐒂𐒃𐒄𐒅𐒆𐒇𐒈𐒉𐒊𐒋𐒌𐒍𐒎𐒏&amp;quot;&amp;lt;/code&amp;gt;, визуально имеющую длину 16 символов, однако, с точки зрения UTF-16 эта строка представлена 64-мя байтами информации, так как каждый ее символ записан двумя двухбайтовыми парами (первый знак, например, записан сл. образом: &amp;lt;code&amp;gt;D801,DC80&amp;lt;/code&amp;gt;). Поэтому функция '''[[Length]]''' возвратит 32, а не 16, функция '''[[Pos]]''' при нахождении позиции знака '''𐒆''' возвратит некорректную позицию 13, вместо корректной 7, однако, функция '''[[TearStr]]''' будет работать корректно. В связи с этим не рекомендуется использовать международные символы вне двухбайтовой таблицы BMP, либо не нужно производить обработку текста с их наличием обычным функционалом.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** '''Важное замечание''': стандарт Unicode предполагает использование символов с кодами больше 65535. Для таких символов требуется не 2 байта, а 4 байта при хранении текста (первые для байта называют нижним суррогатом, последние -- верхним). 2-байтовый юникод, называемый также BMP (Basic Multilingual Plane, основная международная таблица) или UCS-2, позволяет кодировать все основные международные символы, включая Китайские, Японские и Корейские иероглифы. Символы вне этой таблицы, обычно представляют собой символику вымерших или редких языков и знаки, не относящиеся к обычному тексту (смайлики, рисунки объектов и пр.), либо знаки, зависящие непосредственно от шрифта. Такие знаки зачастую не будут даже иметь корректного отображения, так как большинство шрифтов не поддерживает полную таблицу юникода. Говоря о возможностях системы, при выводе на экран и перекодировке текста&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, &lt;/ins&gt;знаки вне BMP обрабатываются системой корректно, однако, текстовые функции рассчитаны только на работу с символами, размером 2 байта. Это, значит, к примеру, что в редакторе исходного кода, можно создать строку &amp;lt;code&amp;gt;&amp;quot;𐒀𐒁𐒂𐒃𐒄𐒅𐒆𐒇𐒈𐒉𐒊𐒋𐒌𐒍𐒎𐒏&amp;quot;&amp;lt;/code&amp;gt;, визуально имеющую длину 16 символов, однако, с точки зрения UTF-16 эта строка представлена 64-мя байтами информации, так как каждый ее символ записан двумя двухбайтовыми парами (первый знак, например, записан сл. образом: &amp;lt;code&amp;gt;D801,DC80&amp;lt;/code&amp;gt;). Поэтому функция '''[[Length]]''' возвратит 32, а не 16, функция '''[[Pos]]''' при нахождении позиции знака '''𐒆''' возвратит некорректную позицию 13, вместо корректной 7, однако, функция '''[[TearStr]]''' будет работать корректно. В связи с этим не рекомендуется использовать международные символы вне двухбайтовой таблицы BMP, либо не нужно производить обработку текста с их наличием обычным функционалом.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Преобразование в UTF-16 строку в системе обычно происходит автоматически, обратное преобразование можно осуществить с помощью особых функций. Также нужно отметить, что широко используемый формат UTF-8 будет храниться в системе в ANSI (однобайтовых строках), при получении из внешних источников текста в таком формате, желательно преобразовать его в UTF-16 (c помощью, к примеру '''[[UTF8ToUnicode]]'''), затем, после обработки, можно преобразовать текст обратно в UTF-8 (к примеру, используя '''[[UnicodeToUTF8]]''').&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Преобразование в UTF-16 строку в системе обычно происходит автоматически, обратное преобразование можно осуществить с помощью особых функций. Также нужно отметить, что широко используемый формат UTF-8 будет храниться в системе в ANSI (однобайтовых строках), при получении из внешних источников текста в таком формате, желательно преобразовать его в UTF-16 (c помощью, к примеру '''[[UTF8ToUnicode]]'''), затем, после обработки, можно преобразовать текст обратно в UTF-8 (к примеру, используя '''[[UnicodeToUTF8]]''').&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>1&gt;Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=3198&amp;oldid=prev</id>
		<title>Admin: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=3198&amp;oldid=prev"/>
		<updated>2021-02-07T06:55:31Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 06:55, 7 February 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
	<entry>
		<id>http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=3197&amp;oldid=prev</id>
		<title>Admin at 08:11, 12 April 2020</title>
		<link rel="alternate" type="text/html" href="http://sfsys.ru/index.php?title=%D0%A1%D1%82%D1%80%D0%BE%D0%BA%D0%B8&amp;diff=3197&amp;oldid=prev"/>
		<updated>2020-04-12T08:11:36Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{HeadLinks|&lt;br /&gt;
* [[Main_Page|Начальная страница]]&lt;br /&gt;
* [[Общее_описание_языка|Общее описание]]&lt;br /&gt;
* [[Объекты]]}}&lt;br /&gt;
Строки, наряду с числами, это основные объекты хранения для данных в системе. Каждая строка может содержать до 2 млрд. символов. Строки используются для хранения и обработки текстов, бинарных данных, передачи параметров внутри системы и во внешние источники, для вывода информации и пр. Способы использования строк разнообразны, поэтому, строковые объекты имеют определенные оптимизации для ускорения работы с ними (см. [[Объекты#Особенности работы со строками|статью]] для доп. информации). Система использует строковые объекты двух типов: &lt;br /&gt;
* ANSI строки, называемые также однобайтовые строками. Каждый знак занимает один байт. Строка будет иметь системную кодировку для международных символов. К примеру, если установки текущей учетной записи системы определяют ANSI строки, как имеющие кодовую страницу 1251, то в однобайтовых строках, наряду с латиницей, знаками и цифрами, можно использовать кириллицу, если же, к примеру, кодовая страница 869, то в ANSI строках можно использовать греческий алфавит. Система обычно использует такие объекты только для хранения строк с латиницей, знаками и цифрами, при наличии любого международного символа, происходит автоматическое преобразование в UTF-16 строку. Нужно также заметить, что системная кодировка для таких строк имеет значение только при их выводе на экран, кроме как при выводе информации, кодировка никак не влияет на содержимое строк.&lt;br /&gt;
* UTF-16 строки, называемые также многобайтовыми строками или юникодом (Unicode). В данной кодировке каждый знак обычно занимает два байта (либо большее количество для редких знаков). В строках такого типа может храниться любая текстовая информация с международными символами, они не зависят от текущей системной кодировки, однако, занимают больше места в памяти и не подходят для хранения и преобразования бинарной информации (к примеру, как результат шифрования алгоритмом AES и пр.).&lt;br /&gt;
** '''Важное замечание''': стандарт Unicode предполагает использование символов с кодами больше 65535. Для таких символов требуется не 2 байта, а 4 байта при хранении текста (первые для байта называют нижним суррогатом, последние -- верхним). 2-байтовый юникод, называемый также BMP (Basic Multilingual Plane, основная международная таблица) или UCS-2, позволяет кодировать все основные международные символы, включая Китайские, Японские и Корейские иероглифы. Символы вне этой таблицы, обычно представляют собой символику вымерших или редких языков и знаки, не относящиеся к обычному тексту (смайлики, рисунки объектов и пр.), либо знаки, зависящие непосредственно от шрифта. Такие знаки зачастую не будут даже иметь корректного отображения, так как большинство шрифтов не поддерживает полную таблицу юникода. Говоря о возможностях системы, при выводе на экран и перекодировке текста знаки вне BMP обрабатываются системой корректно, однако, текстовые функции рассчитаны только на работу с символами, размером 2 байта. Это, значит, к примеру, что в редакторе исходного кода, можно создать строку &amp;lt;code&amp;gt;&amp;quot;𐒀𐒁𐒂𐒃𐒄𐒅𐒆𐒇𐒈𐒉𐒊𐒋𐒌𐒍𐒎𐒏&amp;quot;&amp;lt;/code&amp;gt;, визуально имеющую длину 16 символов, однако, с точки зрения UTF-16 эта строка представлена 64-мя байтами информации, так как каждый ее символ записан двумя двухбайтовыми парами (первый знак, например, записан сл. образом: &amp;lt;code&amp;gt;D801,DC80&amp;lt;/code&amp;gt;). Поэтому функция '''[[Length]]''' возвратит 32, а не 16, функция '''[[Pos]]''' при нахождении позиции знака '''𐒆''' возвратит некорректную позицию 13, вместо корректной 7, однако, функция '''[[TearStr]]''' будет работать корректно. В связи с этим не рекомендуется использовать международные символы вне двухбайтовой таблицы BMP, либо не нужно производить обработку текста с их наличием обычным функционалом.&lt;br /&gt;
&lt;br /&gt;
Преобразование в UTF-16 строку в системе обычно происходит автоматически, обратное преобразование можно осуществить с помощью особых функций. Также нужно отметить, что широко используемый формат UTF-8 будет храниться в системе в ANSI (однобайтовых строках), при получении из внешних источников текста в таком формате, желательно преобразовать его в UTF-16 (c помощью, к примеру '''[[UTF8ToUnicode]]'''), затем, после обработки, можно преобразовать текст обратно в UTF-8 (к примеру, используя '''[[UnicodeToUTF8]]''').&lt;br /&gt;
&lt;br /&gt;
Ниже показаны примеры некоторых функций, для работы с форматом и преобразованием строк:&lt;br /&gt;
* Синтаксис массивов &amp;lt;code&amp;gt;&amp;lt;Переменная&amp;gt;[&amp;lt;Индекс&amp;gt;]&amp;lt;/code&amp;gt; позволяет получить доступ к символу строки по его индексу (индекс начинается с единицы). При изменении символа с помощью конструкции &amp;lt;code&amp;gt;&amp;lt;Переменная&amp;gt;[&amp;lt;Индекс&amp;gt;]:=&amp;lt;Значение&amp;gt;&amp;lt;/code&amp;gt;, ''значение'' может быть не только текстовым, но и числовым (содержать код символа). '''Важно''': оригинальная строка в ANSI не будет преобразована в UTF-16, даже если присваиваемый символ является международным, в этом случае, будет вызвано исключение, либо символ будет утерян (превращен в &amp;quot;?&amp;quot;).&lt;br /&gt;
* Функции для преобразования объекта в текстовое представление: '''[[Str]]''', '''[[NumberToStr]]''' и пр.&lt;br /&gt;
* Функции, определяющие тип строки (однобайтовая или многобайтовая): '''[[StringTypeStr]]''', '''[[IsUnicode]]'''&lt;br /&gt;
* Функции для преобразования между типами строк: '''[[Ansi]]''', '''[[Unicode]]'''&lt;br /&gt;
* Функции для преобразования между кодировками строк: '''[[UnicodeToUTF8]]''', '''[[UTF8ToUnicode]]''', '''[[AnsiToUTF8]]''', '''[[UTF8ToAnsi]]''', '''[[TranslateFrom]]''', '''[[TranslateTo]]''', '''[[Translate]]''' и пр.&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>