Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1017

 
Potresti dirmi i dati<td colspan="8\" class="theDay\">\u0421\u0440\u0435\u0434\u0430, \u0410\u043f\u0440\u0435\u043b\u044c 20, 2016</td>\n formato UTF-8

Ho capito bene che il russo deve essere convertito in ANSI, cioè in CP_ACP?

Lo faccio così stringa ttt =CharArrayToString(RESULT,0,CP_ACP); Non cambia nulla, solo i dati sono memorizzati nella variabile stringa
Anche il salvataggio in un file sotto CP_ACP non funziona.
Sto facendo qualcosa di sbagliato. L'output è heDay\">Wednesday, April 20, 2016<\td>\n (ho anche usato uurlencoded post filter durante la conversione da UTF-8)
LA DOMANDA è come farlo in MQL?
 
Money_Maker:
Potresti dirmi i dati<td colspan="8\" class="theDay\">\u0421\u0440\u0435\u0434\u0430, \u0410\u043f\u0440\u0435\u043b\u044c 20, 2016</td>\n formato UTF-8

Ho capito bene che il russo deve essere convertito in ANSI, cioè in CP_ACP?

Lo faccio così stringa ttt =CharArrayToString(RESULT,0,CP_ACP); Non cambia nulla, solo i dati sono memorizzati nella variabile stringa
Anche il salvataggio in un file sotto CP_ACP non funziona.
Sto facendo qualcosa di sbagliato. Il decoder online traduce correttamente. il risultato è: heDay\">Wednesday, April 20, 2016<\td>\n
La domanda è come farlo in MQL?
Come lo sai - scrivi. Ho un problema simile.
 
Money_Maker:
Potresti dirmi i dati<td colspan="8\" class="theDay\">\u0421\u0440\u0435\u0434\u0430, \u0410\u043f\u0440\u0435\u043b\u044c 20, 2016</td>\n formato UTF-8

Ho capito bene che il russo deve essere convertito in ANSI, cioè in CP_ACP?

Lo faccio così stringa ttt =CharArrayToString(RESULT,0,CP_ACP); Non cambia nulla, solo i dati sono memorizzati nella variabile stringa
Anche il salvataggio in un file sotto CP_ACP non funziona.
Sto facendo qualcosa di sbagliato. L'output è heDay\">Wednesday, April 20, 2016<\td>\n (ho anche usato uurlencoded post filter durante la conversione da UTF-8)
DOMANDA come farlo in MQL?
https://forum.mql4.com/ru/67441
 
eevviill:
https://forum.mql4.com/ru/67441
Print(CharArrayToString(RESULT));
non avviene alcuna ricodifica... ( Ci ho già provato ... credo di aver trovato qualcosa di simile ... 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

Non ha ancora funzionato... ma sembra essere quello giusto, o è sbagliato?
 
Potete dirmi per favore come convertire i dati come mostrato nell'immagine (cadabras in lettere russe)? Dove scavare in quale direzione?


 
Money_Maker:
Potete dirmi per favore come convertire i dati come mostrato nell'immagine (cadabras in lettere russe)? Dove scavare in quale direzione?



Se non mi sbaglio, è base64, può essere ricodificato programmaticamente solo in PHP, o scrivere la propria funzione in MQ
 
Grazie, ho già pensato a diverse opzioni da
1 download tenendo conto della codifica
2 scaricare la pagina dopo la richiesta nel browser, viene visualizzata bene
3 diverse funzioni convertite da WinDLL o C++
4 ora vengono che io raccoglierò per ogni lettera un codice e lo userò per decodificare (cioè la loro propria funzione)


OK, come posso scrivere questo "\u0430" nel codice MQL?

Ricevo un avvertimento 'u' - sequenza di escape di caratteri non riconosciuti

 
Money_Maker:
Grazie, già pensato a diverse opzioni da
1 download tenendo conto della codifica
2 scaricare la pagina dopo la richiesta nel browser, verrà visualizzata bene.
3 diverse funzioni per convertire da WinDLL o C++
4 ora vengono che io raccoglierò per ogni lettera un codice e lo userò per decodificare (cioè la loro propria funzione)


OK, come posso scrivere questo "\u0430" nel codice MQL?

Ricevo un avvertimento 'u' - sequenza di escape di caratteri non riconosciuti

Qui in PHP, seguendo il suo principio di farlo in 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);
}

L'idea è di scomporre la stringa in caratteri e fare una sostituzione carattere per carattere con il carattere giusto quando corrisponde all'array.

 
Trader76:

Qui in PHP, seguendo il suo principio di farlo in MQ

L'idea è quella di spezzare la stringa in caratteri e fare una sostituzione carattere per carattere con il carattere corretto quando corrisponde all'array.

grazie mille sarà più veloce, ho anche così il principio ha deciso di "lippy" grazie speciale per i codici di carattere ora non dovranno cercare per loro.
 
Money_Maker:
Grazie mille sarà più veloce, ecco perché ho anche deciso di "leccare" il principio speciale grazie per i codici dei caratteri ora non dovrò cercarli.

StringGetChar()

StringGetChar()

O è sbagliato?

Motivazione: