traductor online codificacion base64_decode c# textbox base64 word-wrap

online - C#: Multiline TextBox con TextBox.WordWrap que muestra una cadena larga de Base64



hash base64 (1)

La envoltura inteligente es demasiado inteligente para sus propósitos. Simplemente mantenga Multiline , apague WordWrap y envuelva el texto usted mismo:

public IEnumerable<string> SimpleWrap(string line, int length) { var s = line; while (s.Length > length) { var result = s.Substring(0, length); s = s.Substring(length); yield return result; } yield return s; }

Actualizar:

Una estimación del número de caracteres que pueden caber en un TextBox utilizando una fuente de ancho fijo es:

public int GetMaxChars(TextBox tb) { using (var g = CreateGraphics()) { return (int)Math.Floor(tb.Width / (g.MeasureString("0123456789", tb.Font).Width / 10)); } }

Una fuente de ancho variable es más difícil, pero se puede hacer con MeasureCharacterRanges .

Tengo un cuadro de texto para mostrar una cadena Base64 muy larga. TextBox.Multline = true y TextBox.WordWrap = true .

El problema es causado por la detección automática de límite de palabras del propio TextBox. La cadena Base64 tiene ''+'' como uno de los 64 caracteres para la codificación Base64. Por lo tanto, TextBox lo resumirá en el carácter ''+'', que no es lo que quiero (porque el uso podría pensar que hay un carácter de nueva línea alrededor del carácter ''+'').

Solo quiero que mi cadena Base64 se muestre en modo Mulitline en TextBox, pero sin detección de límite de palabra, es decir, si TextBox.Width solo puede contener 80 caracteres, cada línea debe tener exactamente 80 caracteres, excepto la última línea.