Changeset 791


Ignore:
Timestamp:
Oct 27, 2009, 2:01:08 PM (12 years ago)
Author:
falk
Message:

converter new version (added user selected encoding types)

Location:
trunk/CrypPlugins/Converter
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/Converter/Converter.cs

    r757 r791  
    337337                            else
    338338                            {
    339                                 System.Text.UTF8Encoding enc = new System.Text.UTF8Encoding();
    340                                 Output = enc.GetBytes(inpString);
    341 
    342 
    343                                 GuiLogMessage("byte[] wiederherstellung " + Output.ToString(), NotificationLevel.Info);
     339                                switch (settings.Encoding)
     340                                {
     341                                    case ConverterSettings.EncodingTypes.Default:
     342                                        Output = Encoding.Default.GetBytes(inpString.ToCharArray());
     343                                        break;
     344                                    case ConverterSettings.EncodingTypes.Unicode:
     345                                        Output = Encoding.Unicode.GetBytes(inpString.ToCharArray());
     346                                        break;
     347                                    case ConverterSettings.EncodingTypes.UTF7:
     348                                        Output = Encoding.UTF7.GetBytes(inpString.ToCharArray());
     349                                        break;
     350                                    case ConverterSettings.EncodingTypes.UTF8:
     351                                        Output = Encoding.UTF8.GetBytes(inpString.ToCharArray());
     352                                        break;
     353                                    case ConverterSettings.EncodingTypes.UTF32:
     354                                        Output = Encoding.UTF32.GetBytes(inpString.ToCharArray());
     355                                        break;
     356                                    case ConverterSettings.EncodingTypes.ASCII:
     357                                        Output = Encoding.ASCII.GetBytes(inpString.ToCharArray());
     358                                        break;
     359                                    case ConverterSettings.EncodingTypes.BigEndianUnicode:
     360                                        Output = Encoding.BigEndianUnicode.GetBytes(inpString.ToCharArray());
     361                                        break;
     362                                    default:
     363                                        Output = Encoding.Default.GetBytes(inpString.ToCharArray());
     364                                        break;
     365                                }
     366                               
     367
     368
     369                                //GuiLogMessage("byte[] wiederherstellung " + Output.ToString(), NotificationLevel.Info);
    344370                                ProgressChanged(100, 100);
    345371                                break;
  • trunk/CrypPlugins/Converter/ConverterSettings.cs

    r746 r791  
    3434        private bool numeric = false;
    3535        private bool formatAmer = false;
     36        public enum EncodingTypes { Default = 0, Unicode = 1, UTF7 = 2, UTF8 = 3, UTF32 = 4, ASCII = 5, BigEndianUnicode = 6 };
     37        private EncodingTypes encoding = EncodingTypes.Default;
    3638        #endregion
    3739
    3840        #region taskpane
    3941     //   [ContextMenu("Numeric Interpretation", "Choose whether inputs are treated as numeric values if possible", 1, DisplayLevel.Beginner, ContextMenuControlType.ComboBox, new int[] { 1, 2 }, "numeric", "non numeric")]
     42        [ContextMenu("Stream encoding", "Choose the expected encoding of the byte array and stream.", 1, DisplayLevel.Experienced, ContextMenuControlType.ComboBox, null, new string[] { "Default system encoding", "Unicode", "UTF-7", "UTF-8", "UTF-32", "ASCII", "Big endian unicode" })]
     43        [TaskPane("Stream encoding", "Choose the expected encoding of the byte array and stream.", "", 1, false, DisplayLevel.Experienced, ControlType.RadioButton, new string[] { "Default system encoding", "Unicode", "UTF-7", "UTF-8", "UTF-32", "ASCII", "Big endian unicode" })]
     44        public int EncodingSetting
     45        {
     46            get
     47            {
     48                return (int)this.encoding;
     49            }
     50            set
     51            {
     52                if (this.Encoding != (EncodingTypes)value)
     53                {
     54                    hasChanges = true;
     55                    this.Encoding = (EncodingTypes)value;
     56                    OnPropertyChanged("EncodingSetting");
     57                    HasChanges = true;
     58                }
     59            }
     60        }
    4061        [TaskPane("Converter", "Choose the output type", null, 1, false, DisplayLevel.Beginner, ControlType.ComboBox, new string[] { "string", "int", "short", "byte", "double", "BigInteger", "int[]", "byte[]","Cryptoolstream" })]
    4162       
     
    5677                                {
    5778                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
     79                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("EncodingSetting", Visibility.Collapsed)));
    5880                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
    5981                                    break;
     
    6284                                {
    6385                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
     86                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("EncodingSetting", Visibility.Collapsed)));
    6487                                    //  TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
    6588                                    break;
     
    6790                            case 2:
    6891                                {
     92                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("EncodingSetting", Visibility.Collapsed)));
    6993                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
    7094                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
     
    7397                            case 3:
    7498                                {
     99                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("EncodingSetting", Visibility.Collapsed)));
    75100                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
    76101                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
     
    79104                            case 4:
    80105                                {
     106                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("EncodingSetting", Visibility.Collapsed)));
    81107                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
    82108                                    // TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
     
    85111                            case 5:
    86112                                {
     113                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("EncodingSetting", Visibility.Collapsed)));
    87114                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
    88115                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
     
    91118                            case 6:
    92119                                {
     120                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("EncodingSetting", Visibility.Collapsed)));
    93121                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
    94122                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
     
    97125                            case 7:
    98126                                {
     127                                   
    99128                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Visible)));
     129                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("EncodingSetting", Visibility.Visible)));
    100130                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
    101131                                    break;
     
    103133                            case 8:
    104134                                {
     135                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("EncodingSetting", Visibility.Collapsed)));
    105136                                    TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Numeric", Visibility.Collapsed)));
    106137                                    //TaskPaneAttributeChanged(this, new TaskPaneAttributeChangedEventArgs(new TaskPaneAttribteContainer("Format", Visibility.Collapsed)));
     
    155186
    156187        }
     188        public EncodingTypes Encoding
     189        {
     190            get { return this.encoding; }
     191            set
     192            {
     193                if (this.encoding != value)
     194                {
     195                    hasChanges = true;
     196                    this.encoding = value;
     197                    OnPropertyChanged("EncodingSetting");
     198                }
     199            }
     200        }
     201
    157202
    158203        #endregion
Note: See TracChangeset for help on using the changeset viewer.