Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 1017

 
Você poderia, por favor, me dizer os dados<td colspan="8\" class="theDay=">\u0421u0440u0435u0434\u0430, \u0410u043f\u0440\u0435u043b\u044c 20, 2016</td>\n formato UTF-8

Entendo corretamente que o russo precisa ser convertido para ANSI, ou seja, para CP_ACP?

Eu faço como esta string ttt =CharArrayToString(RESULTADO,0,CP_ACP); Nada muda, apenas os dados são armazenados na variável string
Salvar em um arquivo sob CP_ACP também não funciona.
Eu estou fazendo algo errado . A saída é heDay\">Quarta-feira, 20 de abril de 2016</td>\n (Eu também usei o filtro pós-filtro uurlencoded quando converti do UTF-8)
A PERGUNTA é como fazer isso na MQL?
 
Money_Maker:
Você poderia, por favor, me dizer os dados<td colspan="8\" class="theDay=">\u0421u0440u0435u0434\u0430, \u0410u043f\u0440\u0435u043b\u044c 20, 2016</td>\n formato UTF-8

Entendo corretamente que o russo precisa ser convertido para ANSI, ou seja, para CP_ACP?

Eu faço como esta string ttt =CharArrayToString(RESULTADO,0,CP_ACP); Nada muda, apenas os dados são armazenados na variável string
Salvar em um arquivo sob CP_ACP também não funciona.
Eu estou fazendo algo errado . O decodificador online traduz corretamente. o resultado é: heDia">Quarta-feira, 20 de abril de 2016</td>\n
A questão é como fazer isso na MQL?
Como você sabe - escreva. Eu tenho um problema semelhante.
 
Money_Maker:
Você poderia, por favor, me dizer os dados<td colspan="8\" class="theDay=">\u0421u0440u0435u0434\u0430, \u0410u043f\u0440\u0435u043b\u044c 20, 2016</td>\n formato UTF-8

Entendo corretamente que o russo precisa ser convertido para ANSI, ou seja, para CP_ACP?

Eu faço como esta string ttt =CharArrayToString(RESULTADO,0,CP_ACP); Nada muda, apenas os dados são armazenados na variável string
Salvar em um arquivo sob CP_ACP também não funciona.
Eu estou fazendo algo errado . A saída é heDay\">Quarta-feira, 20 de abril de 2016</td>\n (Eu também usei o filtro pós-filtro uurlencoded quando converti do UTF-8)
PERGUNTA como fazer isso na MQL?
https://forum.mql4.com/ru/67441
 
eevviill:
https://forum.mql4.com/ru/67441
Print(CharArrayToString(RESULT));
nenhuma recodificação é feita... ( Já tentei isso... acho que encontrei algo semelhante... https://forum.mql4.com/ru/18476

#import "kernel32.dll"
   int WideCharToMultiByte(int CodePage, int dwFlags, int &lpWideCharStr[], int cchWideChar, string lpMultiByteStr, int cbMultiByte, 
                           int lpDefaultChar, int lpUsedDefaultChar);
#import

Ainda não funcionou... mas parece ser o certo, ou é errado?
 
Você pode me dizer como converter os dados como mostrado na figura (cadabras em letras russas)? Onde cavar em que direção(?


 
Money_Maker:
Você poderia me dizer como converter os dados como mostrado na figura (cadabras em letras russas)? Onde cavar em que direção(?



Se não estou enganado, é base64, pode ser programmaticamente recodificado apenas em PHP, ou escrever sua própria função em MQ
 
Obrigado, eu já pensei em diferentes opções de
1 download levando em conta a codificação
2 página de download após solicitação no navegador, ele exibe bem
3 funções diferentes convertidas de WinDLL ou C++
4 agora vou pegar para cada letra um código e usá-lo para decodificar (ou seja, sua própria função)


OK, como escrever este "\u0430" em código MQL?

Recebo um 'u' de aviso - seqüência de fuga de caracteres não reconhecidos

 
Money_Maker:
Obrigado, já pensei em diferentes opções de
1 download levando em conta a codificação
2 página de download após solicitação no navegador, ele exibirá bem.
3 funções diferentes para converter de WinDLL ou C++
4 agora vou pegar para cada letra um código e usá-lo para decodificar (ou seja, sua própria função)


OK, como escrever este "\u0430" em código MQL?

Recebo um 'u' de aviso - seqüência de fuga de caracteres não reconhecidos

Aqui em PHP, seguindo seu princípio de fazer isso em MQ

function conv($str)
{
$uot = '';
$unicodePoints = array( '\u0410','\u0411','\u0412','\u0413',
'\u0414','\u0415','\u0416','\u0417',
'\u0418','\u0419','\u041A','\u041B',
'\u041C','\u041D','\u041E','\u041F',
'\u0420','\u0421','\u0422','\u0423',
'\u0424','\u0425','\u0426','\u0427',
'\u0428','\u0429','\u042A','\u042B',
'\u042C','\u042D','\u042E','\u042F',
'\u0430','\u0431','\u0432','\u0433',
'\u0434','\u0435','\u0436','\u0437',
'\u0438','\u0439','\u043A','\u043B',
'\u043C','\u043D','\u043E','\u043F',
'\u0440','\u0441','\u0442','\u0443',
'\u0444','\u0445','\u0446','\u0447',
'\u0448','\u0449','\u044A','\u044B',
'\u044C','\u044D','\u044E','\u044F');
$hexView = array(   'd090','d091','d092','d093',
'd094','d095','d096','d097',
'd098','d099','d09a','d09b',
'd09c','d09d','d09e','d09f',
'd0a0','d0a1','d0a2','d0a3',
'd0a4','d0a5','d0a6','d0a7',
'd0a8','d0a9','d0aa','d0ab',
'd0ac','d0ad','d0ae','d0af',
'd0b0','d0b1','d0b2','d0b3',
'd0b4','d0b5','d0b6','d0b7',
'd0b8','d0b9','d0ba','d0bb',
'd0bc','d0bd','d0be','d0bf',
'd180','d181','d182','d183',
'd184','d185','d186','d187',
'd188','d189','d18a','d18b',
'd18c','d18d','d18e','d18f' );
for($i=0; $i < strlen( $str ); $i++)
{
if(bin2hex($str{$i}) >= 'd0' && bin2hex($str{$i}) <= 'd1')
{
$uot .= bin2hex($str{$i}).bin2hex($str{$i+1});
$i++;
}
elseif(bin2hex($str{$i}) <= '7e')
{
$uot .= '\u00'.bin2hex($str{$i});
}
else $uot .= htmlentities($str{$i},ENT_QUOTES,'UTF-8');
}
return str_replace($hexView,$unicodePoints, $uot);
}

A idéia é quebrar a corda em caracteres e fazer uma substituição de caractere por caractere com o caractere certo quando este corresponder à matriz.

 
Trader76:

Aqui em PHP, seguindo seu princípio de fazer isso em MQ

A idéia é que você quebre a corda em caracteres e faça uma substituição de caractere por caractere com o caractere correto quando este corresponder à matriz.

Muito obrigado, será mais rápido, também por isso o princípio decidiu "lippy" agradecimentos especiais pelos códigos de caracteres, agora eles não terão que procurá-los.
 
Money_Maker:
Muito obrigado, será mais rápido, por isso também decidi "lamber" o princípio de agradecimento especial pelos códigos de caracteres agora não terei que procurá-los.

StringGetChar()

StringGetChar()

Ou é errado?