質問編集履歴

1

ソースコードを追加

2015/09/17 02:13

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -39,3 +39,59 @@
39
39
 
40
40
 
41
41
  以上、よろしくお願いします。
42
+
43
+
44
+
45
+ 取得時のコードを書きました。
46
+
47
+ ```C#
48
+
49
+ private void GetName()
50
+
51
+ {
52
+
53
+ using (var readStream = new FileStream("読み込むアーカイブ名.zip", FileMode.Open, FileAccess.Read))
54
+
55
+ using (var stream = Stream.Synchronized(readStream))
56
+
57
+ {
58
+
59
+ using (var r = ArchiveFactory.Open(stream))
60
+
61
+ {
62
+
63
+ foreach(var entry in r.Entries)
64
+
65
+ {
66
+
67
+ string name = entry.Key; //文字化けするコード
68
+
69
+ string name2 = convert(entry.Key); //文字化け対策コード
70
+
71
+ }
72
+
73
+ }
74
+
75
+ }
76
+
77
+ }
78
+
79
+ private static string convert(string text)
80
+
81
+ {
82
+
83
+ var source = Encoding.ASCII; //暫定的に対象をASCIIに
84
+
85
+ var destination = Encoding.GetEncoding("Shift_JIS");
86
+
87
+
88
+
89
+ var bytes = source.GetBytes(text);
90
+
91
+ var sjisBytes = Encoding.Convert(source, destination, bytes);
92
+
93
+ return destination.GetString(sjisBytes);
94
+
95
+ }
96
+
97
+ ```